Многоуровневая иерархия Nhibernate, отображаемая как объединенные подклассы, не может работать со свойством базового класса - PullRequest
0 голосов
/ 29 июля 2011

У меня следующая иерархия:

ClassA->ClassB->ClassC->ClassD

ClassB имеет PropertyA . Все классы отображаются как объединенные подклассы с таблицей для каждого класса.

Сопоставление выполняется без ошибок, но при попытке выполнить запрос возникает ошибка:

ICriteria crit =session.CreateCriteria(typeof(ClassB));
crit.Add(Expression.Eq("PropertyA", value));
crit.List<ClassB>();

Ошибка выглядит следующим образом:

NHibernate.QueryException: не удалось разрешить свойство: PropertyA из: ClassC

Кажется, я получаю еще одну связанную ошибку при сохранении экземпляров ClassD, но я бы лучше сначала исправил эту.

Почему это происходит?

1 Ответ

0 голосов
/ 30 июля 2011

Не обращайте внимания на это. Мое сопоставление было недопустимым - я должен использовать многоуровневое сопоставление иерархии объединенных подклассов:

<class
 <joined-subclass
  <joined-subclass
...

нелинейное отображение с атрибутом extends.

...