NHibernate:Criteria表达式,用于检索非null的一对一关联类

Kev*_*cht 4 c# nhibernate orm

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

<class name="Employee" table="Employees">
  ...
  <one-to-one name="Address" class="AddressInfo">
  ...
</class>
Run Code Online (Sandbox Code Playgroud)

我想使用条件表达式来只获取关联的Address类不为null的Employees,就像这样(我知道这不起作用):

IList employeesWithAddresses = sess.CreateCriteria(typeof(Employee))
    .Add( Expression.IsNotNull("Address") )
    .List();
Run Code Online (Sandbox Code Playgroud)

我想这可能是一个非常困难的问题,或者几乎没有人试图这样做?

Chr*_*ell 5

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

就像是:

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