连接嵌套查询NHibernate
如何在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 )
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进行连接的方法