16

このクエリをシミュレートしたい:

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) );

しかし、それは機能せず、「認識されないメソッド呼び出し」の例外が発生するだけです。

何か案は?これは一般的な要求である必要があります。

4

1 に答える 1

39

ああ、わかった!AddRestrictionsにはIsInメソッドがあります。

var results = session.QueryOver<Foo>().AndRestrictionOn(x=>x.id).IsIn(ids)

この最後のピースで、私たちは何年も前の手巻きORMを捨てる準備ができているかもしれません!

于 2012-08-28T08:15:51.643 に答える