Как использовать оператор IN в linq

Я запрашиваю представление и фильтрую результаты с помощью столбца с именем status. Я хотел бы запросить его, чтобы я мог искать строки с разным статусом, используя оператор IN, как я бы это сделал в SQL.

As so:

ВЫБРАТЬ * ИЗ ПРОСМОТРА ГДЕ Статус в ('....', '.....')

Как я могу этого добиться?


person Hallaghan    schedule 11.06.2010    source источник


Ответы (1)


Если в вашем выражении запроса используется метод Contains объекта IEnumerable, синтаксический анализатор превратит его в выражение IN, используя значения в IEnumerable.

List<string> foo = new List<string>() { "a", "b", "c" };

var query = dataContext.View.Where(v => foo.Contains(v.Status));
person Adam Robinson    schedule 11.06.2010
comment
Спасибо, Адам! Работает как шарм! - person Hallaghan; 11.06.2010