我想模拟这个查询:
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) );
但这不起作用,只是给了我一个“无法识别的方法调用”异常。
有什么想法吗?这必须是一个共同的要求。
答案 0 :(得分:36)
啊哈哈! AddRestrictions有一个IsIn方法:
var results = session.QueryOver<Foo>().AndRestrictionOn(x=>x.id).IsIn(ids)
有了这篇最后一篇文章,我们可能已经准备好抛弃我们已有数年历史的手工ORM!