2012-05-10 10 views
1

私はFNの "not in"ステートメントをコーディングしようとしていますが、それを作る最良の方法が本当にわかりません。ここにいくつかのSQL文があります:Fluent Nhibernate Not In Caseステートメント

select * from T1 
where T1. id not in 
(
    select distinct T2.fkeyID from T2 
) 

1対多の参照でマッピングを作成し、プロパティチェックを使用する必要がありますか?または他の方法があります。何らかの問題を解決するためにQueryOverを書くには?おかげさまで

答えて

2
var subquery = QueryOver.Of<T2>() 
    .Select(Projections.Distinct(Projections.Property("referencedT1.id"))) 

var results = session.QueryOver<T1>() 
    .WithSubquery.WhereProperty(t1 => t1.Id).NotIn(subquery) 
    .List(); 
+0

ありがとうございます、すでに解決方法を見つけました。 –