NHibernate: выражение критерия для извлечения всех сущностей с дочерней коллекцией с нулевым счетом - PullRequest
2 голосов
/ 03 июня 2009

В nhibernate у меня есть два класса, которые связаны с отображением «многие к одному»:

<class name="Employee" table="Employee">
  ..
  <bag name="orgUnits">
    <key column="id" />
    <one-to-many name="OrgUnit" class="OrgUnit">
  </bag>
  ..
</class>

Я хотел бы использовать выражение критерия, чтобы получить только тех сотрудников, у которых коллекция нулевая (т. Е. Нет организаций), примерно так:

IList employeesWithNoOrgUnit = sess.CreateCriteria(typeof(Employee))
    .Add( Expression.IsNull("OrgUnits") )
    .List();

Это не фильтрует коллекцию, как я ожидаю.

1 Ответ

5 голосов
/ 03 июня 2009

Коллега только что нашел способ, который работает.

IList employeesWithNoOrgUnit = sess.CreateCriteria(typeof(Employee))
    .Add( Restrictions.IsEmpty("OrgUnits") )
    .List();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...