我想模拟这个查询:
SELECT * FROM FOO WHERE ID IN (1,2,3)
我怎样才能在 FNH 中做到这一点?
var ids = new List<int>{1,2,3};
var results = session.QueryOver<Foo>().Where( x=> ids.Contains(x.id) );
但这不起作用,只是给了我一个“无法识别的方法调用”异常。
有任何想法吗?这一定是一个普遍的要求。
最佳答案
啊哈——明白了! AddRestrictions 有一个 IsIn 方法:
var results = session.QueryOver<Foo>().AndRestrictionOn(x=>x.id).IsIn(ids)
有了这最后一块,我们可能已经准备好抛弃我们多年的手卷 ORM!
关于nhibernate - QueryOver IN 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12155189/