我有两个与一对一映射关联的类:
<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/