NHibernate:用于检索具有空计数子集合的所有实体的条件表达式

标签 nhibernate criteria

在 nhibernate 中,我有两个与多对一映射关联的类:

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

我想使用条件表达式来仅获取集合为 null(即没有 Orgunits)的员工,如下所示:

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

这不会像我预期的那样过滤集合。

最佳答案

同事刚刚找到了一种有效的方法。

IList employeesWithNoOrgUnit = sess.CreateCriteria(typeof(Employee))
    .Add( Restrictions.IsEmpty("OrgUnits") )
    .List();

关于NHibernate:用于检索具有空计数子集合的所有实体的条件表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/942905/

相关文章:

nhibernate - 使用 NHibernate 1.2 映射 System.Version

java - 在单元测试中模拟 Controller 标准...grails

nhibernate - 如何在 (n)hibernate 中对子对象的属性进行排序?

java - 选择给定元素的所有唯一对 - Criteria API

java - 具有标准的独特功能

java - 如何为父类(super class)编写 Hibernate Criteria 查询并检查某个子类?

c# - 使用流利的 nhibernate,是否有映射私有(private)属性

.net - 你能解释一下 NHibernate 'proxy' 的基本含义吗?

nhibernate - 无法删除 NHibernate 中一对多关系的子实体

sql-server - 将 SQL Server 2008 地理类型与 nHibernate 的 CreateSQLQuery 结合使用