c# - NHibernate:用于检索非空一对一关联类的条件表达式

标签 c# nhibernate orm

我有两个与一对一映射关联的类:

<class name="Employee" table="Employees">
  ...
  <one-to-one name="Address" class="AddressInfo">
  ...
</class>

我想使用条件表达式来仅获取关联地址类不为空的员工,如下所示(我知道这行不通):

IList employeesWithAddresses = sess.CreateCriteria(typeof(Employee))
    .Add( Expression.IsNotNull("Address") )
    .List();

我想这要么是一个非常困难的问题,要么几乎没有人尝试过这样做?

最佳答案

您是否尝试过为地址属性创建别名并检查地址的 ID/主键是否不为空?

类似于:

IList employeesWithAddresses = sess.CreateCriteria(typeof(Employee))
    .CreateCriteria("Address", "address").Add( Expression.IsNotNull("Id") )
    .List();

关于c# - NHibernate:用于检索非空一对一关联类的条件表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302956/

相关文章:

java - 通过主键 ID 查找对象列表 - Apache Cayenne

c# - 强制Windows在关闭时等待服务停止

c# - linq to实体更改代码中的数据库连接字符串

c# - NHibernate 事件监听器的依赖注入(inject)

c# - 使用内存中查询实现自定义 QueryProvider

c# - <logger> 的 log4net 过滤不起作用

c# - 如何获得计数?

c# - 在 n 层 asp.net App 中存储常量的最佳位置是什么?

java - 如何在 hibernate 条件中转换列数据类型?

java - Hibernate 反向一对多映射似乎无法正确处理从 Java 列表中删除项目