Подтвердить что ты не робот

QueryOver IN clause?

Я хочу симулировать этот запрос:

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

Но это не работает, просто дает мне исключение "непризнанный вызов метода".

Любые идеи? Это должен быть общий запрос.

4b9b3361

Ответ 1

Ага-получил! У метода AddRestrictions есть метод IsIn:

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

С помощью этой последней части мы можем быть готовы к тому, чтобы вырвать нашу летнюю ручную ОРМ!