连接嵌套查询NHibernate

连接嵌套查询NHibernate,nhibernate,criteria,Nhibernate,Criteria,如何在NHibernate中使用条件或QueryOver执行此查询 select r.relationshipidentifier, r.publicrelationshipid from relationship r inner join ( select max(asofdate) as asofdate, s.relationshipidentifier from relationship s group by s.relationshipidentifier )

如何在NHibernate中使用条件或
QueryOver
执行此查询

select r.relationshipidentifier, r.publicrelationshipid
from relationship r 
inner join (
    select max(asofdate) as asofdate, s.relationshipidentifier
    from relationship s
    group by s.relationshipidentifier
) m
on r.asofdate = m.asofdate and r.relationshipidentifier = m.relationshipidentifier
假定

public class Relationship {
    public virtual Guid Id { get; set; }
    public virtual DateTime AsOfDate { get; set; }
    public virtual Guid RelationshipIdentifier { get; set; }
    public virtual Guid PublicRelationshpId { get; set; }
}

内部联接可以用子查询来描述。
大意是-

QueryOver.Of<Relationship>()
.SelectList(list =>
    list.SelectMax(r => r.AsOfDate),
    list.GroupProperty(r=> r.RelationshipIdentifier)
)
QueryOver.Of()
.SelectList(列表=>
list.SelectMax(r=>r.AsOfDate),
list.GroupProperty(r=>r.RelationshipIdentifier)
)
您还可以使用QueryOver的
with subquery
方法对该子查询进行内部联接。
有关QueryOver API的更多详细信息,请参阅。

但是如何使用WithSubquery进行连接?找不到任何使用WithSubquery进行连接的方法