2009-12-15 4 views
0

OK, 이것은 큰 시스템이기 때문에 긴 샷이 될 것입니다. (아직 완전히 이해하지 못했지만) NHibernate에 문제가 없을 수도 있습니다. 자체, 그리고 심지어 그것을 재현하는 데 어려움을 겪고 있지만 ...NHibernate.QueryException with dynamic-component

< 동적 구성 요소가있는 클래스가 있어요> 섹션 및 내 ASP.NET MVC를 통해 쿼리를 실행할 때 응용 프로그램), 그것은,하지만 가끔은 실패합니다. (네, 최악!)

제가 보는 예외는 다음과 같습니다

NHibernate.QueryException: could not resolve property: 
Attributes.MyAttributeName of: MyClassName 
    at NHibernate.Persister.Entity.AbstractPropertyMapping.GetColumns(String propertyName) 
    at NHibernate.Persister.Entity.AbstractPropertyMapping.ToColumns(String alias, String propertyName) 
    at NHibernate.Persister.Entity.BasicEntityPropertyMapping.ToColumns(String alias, String propertyName) 
    at NHibernate.Persister.Entity.AbstractEntityPersister.ToColumns(String alias, String propertyName) 
    at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumns(String propertyName, ICriteria subcriteria) 
    at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumnsUsingProjection(ICriteria subcriteria, String propertyName) 
    at NHibernate.Criterion.CriterionUtil.GetColumnNamesUsingPropertyName(ICriteriaQuery criteriaQuery, ICriteria criteria, String propertyName, Object value, ICriterion critertion) 
    at NHibernate.Criterion.CriterionUtil.GetColumnNamesForSimpleExpression(String propertyName, IProjection projection, ICriteriaQuery criteriaQuery, ICriteria criteria, IDictionary`2 enabledFilters, ICriterion criterion, Object value) 
    at NHibernate.Criterion.SimpleExpression.ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery, IDictionary`2 enabledFilters) 
    at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(IDictionary`2 enabledFilters) 
    at NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadable persister, CriteriaQueryTranslator translator, ISessionFactoryImplementor factory, CriteriaImpl criteria, String rootEntityName, IDictionary`2 enabledFilters) 
    at NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, String rootEntityName, IDictionary`2 enabledFilters) 
    at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results) 
    at NHibernate.Impl.CriteriaImpl.List(IList results) 
    at NHibernate.Impl.CriteriaImpl.UniqueResult[T]() 
...my code below here... 

아무도 즉,이 QueryException이 무엇을 의미하는지 정확히 설명 할 수, 그래서 정확히 무엇을 생각의 아이디어를 가질 수 있습니다 잘못되어가는?

감사합니다.

답변

0

NHibernate.QueryException : 수 없습니다 resolve 속성 :의 Attributes.MyAttributeName : MyClassName

내 생각은, "MyAttributeName"속성 필드에 매핑되지 않습니다.

당신은 더 많은 정보를 제공 할 수 있습니까?

+0

글쎄, 어떤 "필드"가 없다 -는 동적 구성 요소 해시 테이블에 있습니다. 하지만 그래, 어딘가에서지도를 잃는 것 같아. – Ken

0

NHibernate의 외부에있는 내 문제가 인 것으로 밝혀졌습니다. 이것은 실제 문제의 가장 직접적인 증상이었습니다.

(실제 문제를 설명 하겠지만 세부 사항은 다른 사람들에게 그다지 재미 있고 도움이되지 않을 것입니다. : 캐시는 실수를 할 때를 제외하고는 모두에게 매우 유용합니다.

나는이 질문을 닫으려고했지만, "닫히기/다시 열 때 발생하는 문제"팝업이 나타나기 때문에 닫힌 것처럼 느껴질뿐입니다.