使用NHibernate ICriteria/QueryOver查询向外连接添加条件

Jam*_*ley 2 nhibernate join fluent-nhibernate queryover

有没有办法在使用QueryOver或ICriteria查询时在NHibernate中指定外连接的附加条件?

我在外连接表上需要一些额外的条件,但是NHibernate总是将它们添加到最后的WHERE子句中 - 这没有得到正确的行为(参见http://weblogs.sqlteam.com/jeffs/archive/2007) /05/14/criteria-on-outer-joined-tables.aspx).

我似乎无法使用Criteria或QueryOver语法找到任何方法...

谢谢

小智 9

你可能很久以前就已经弄明白了.解决方法是在JoinAlias方法中添加ICriteria参数,如下所示:

Party aliasParty = null;
Party aliasPartyFrom = null;
var parties = QueryOver.Of<Party>(() => aliasParty)
              .Left.JoinAlias(
                               () => aliasParty.AccountabilitiesFrom, 
                               () => aliasAccFrom, 
                               Restrictions.On(() => aliasAccFrom.TimeTo).IsNull)
Run Code Online (Sandbox Code Playgroud)

我对aliasAccFrom有限制,我希望在最后一行代码中TimeTo为null.