2012-05-10 128 views
1

我想在FN代码“不在”声明,但不知道什么是最好的方式来实现它。这里有一些sql语句:流利Nhibernate不在案例声明

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

我应该创建与参考一对多映射和使用属性检查吗?或者还有其他方式,例如以某种方式编写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

谢谢,已经发现如何解决它。 –