1

FN で「not in」ステートメントをコーディングしようとしていますが、それを作成する最善の方法が本当にわかりません。ここにいくつかのSQL文があります:

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

1 対多の参照でマッピングを作成し、プロパティ チェックを使用する必要がありますか? または、問題を解決するために QueryOver を記述するなど、他の方法はありますか? ありがとう。

4

1 に答える 1

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();
于 2012-05-14T13:20:41.537 に答える