2009-12-15 8 views
0

OK, cela va être un peu long, car c'est un gros système (que je ne prétends pas comprendre entièrement, pour le moment), et le problème pourrait ne pas être avec NHibernate lui-même, et j'ai même du mal à le reproduire, mais ...NHibernate.QueryException avec dynamic-component

J'ai une classe avec une section dynamique-composant> <, et quand j'exécute une requête (via mon ASP.NET MVC application), il échoue, mais seulement parfois. (Ouais, le pire!)

L'exception que je vois est:

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... 

Quelqu'un peut-il expliquer exactement ce que cela signifie QueryException, à savoir si je peux avoir une idée de ce qu'est exactement qu'il pense ça va mal?

Merci!

Répondre

0

NHibernate.QueryException: ne pouvait pas résoudre la propriété: Attributes.MyAttributeName de: MyClassName

Je pense, propriété "MyAttributeName" ne correspond pas avec le terrain.

Pouvez-vous fournir plus d'informations?

+0

Eh bien, il n'y a pas de "champ" - c'est dans la table de hachage à composante dynamique. Mais oui, on dirait qu'il perd la cartographie quelque part ... – Ken

0

Il se trouve mon problème était juste à l'extérieur de NHibernate, ce qui était le symptôme le plus direct du problème réel.

(Je décrirais le vrai problème, mais les détails ne seraient pas vraiment intéressants ou utiles à d'autres personnes.) Sauf pour dire que: les caches sont très utiles, tout le monde, sauf quand vous faites une erreur et ils Ne pas retourner la chose qu'ils devraient!)

J'ai essayé de fermer cette question, mais je viens d'obtenir la fenêtre contextuelle «Un problème est survenu lors de la fermeture/réouverture», alors faites comme si elle était fermée.

Questions connexes