2011-06-29 6 views
3

NHibernateでこのクエリーをどのようにして実行しますか?条件はQueryOverですか?入れ子になったクエリーに参加するNHibernate

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; } 
} 

答えて

0

を想定サブクエリによって記述することができます。
の効果に何か -

QueryOver.Of<Relationship>() 
.SelectList(list => 
    list.SelectMax(r => r.AsOfDate), 
    list.GroupProperty(r=> r.RelationshipIdentifier) 
) 

、あなたは、内側にQueryOverのWithSubquery方法を使用することができ、そのサブクエリに参加します。 QueryOver APIの詳細については、 this articleをご覧ください。

+0

しかしWithSubqueryを使用してどのように参加することができますか? – FrankF

+0

WithSubqueryを使用して参加する方法が見つかりませんでした –

関連する問題