Возврат только определенных подклассов из подкласса объединения - PullRequest
3 голосов
/ 09 января 2012

У меня такая ситуация в NHibernate.У меня есть базовый конкретный класс (Animal) и два подкласса объединения (Dog и Cat).

Я хочу запрос, который фильтрует подклассы, которые мне не нужны, что-то вроде этого

                var result = session.CreateCriteria<Animal>()
                                // .Add(NotOfType(Cat))
                                .List<Animal>();

Поскольку Animal является конкретным классом, для этого есть таблица, и я хочу получить всех животных, кроме Cat (включая «общих» животных и собак)

Возможно ли это?

1 Ответ

4 голосов
/ 09 января 2012

У каждой сущности есть специальное свойство, которое называется class.

var result = session.CreateCriteria<Animal>()
                    .Add(Expression.Not( Expression.Eq("class", typeof(Cat)))
                    .List<Animal>();

или HQL

from Animal a where a.class != 'Cat'
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...