2009-12-15 4 views
0

ОК, это будет длинный снимок, так как это большая система (которую я еще не утверждаю, чтобы полностью понять, но), и проблема может быть не в NHibernate сам, и у меня даже возникают проблемы с воспроизведением, но ...NHibernate.QueryException с динамическим компонентом

У меня есть класс с разделом динамических компонентов < и когда я запускаю запрос на него (через мой 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: не мог решительность свойство: Attributes.MyAttributeName из: MyClassName

Я думаю, "MyAttributeName" свойство не карта с полем.

У вас есть дополнительные вопросы?

+0

Ну, нет «поля» - это в хэш-таблице динамического компонента. Но да, похоже, что где-то теряется картография ... – Ken

0

Оказалось, что моя проблема была только снаружи NHibernate, и это был самый непосредственный симптом реальной проблемы.

(Я бы описал настоящую проблему, но детали не были бы действительно интересными или полезными для других людей. Кроме того, что: кеши очень полезны, все, кроме случаев, когда вы совершаете ошибку, верните то, что им нужно!)

Я попытался закрыть этот вопрос, но я просто получил сообщение «Проблема возникла во время закрытия/повторного открытия», поэтому просто притворись, что он закрыт.