1

我正在尝试在 FN 中编写“not in”语句,但真的不知道最好的方法是什么。这是一些sql语句:

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

我应该使用一对多的引用创建映射并使用属性检查吗?还是有其他方法,例如以某种方式编写 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 回答