лямбда-выражение для нескольких стран в Linq to Entity - PullRequest
0 голосов
/ 09 декабря 2010

У меня есть поле под названием Страна. Теперь я должен отфильтровать записи по соответствующей стране.

Когда мне нужно отфильтровать записи по одной стране, я использую лямбда-выражение, как показано ниже.

string strCountry = "USA";
var data = entities.Documents.Where(p => p.Country == strCountry);

Теперь у меня есть список стран, как показано ниже. Мне интересно, как отфильтровать записи для этого списка.

List<string> strCountry = new CacheUser().GetUserCountry();

Ценю ваши ответы.

Спасибо

1 Ответ

2 голосов
/ 09 декабря 2010

Попробуйте:

List<string> countries = ...;
var data = entities.Documents.Where(p => countries.Contains(p.Country));

Это должно привести к запросу "IN" в SQL.Тем не менее, вы должны знать, что это может произойти сбой, как только вы получите большое количество стран в списке.Я полагаю, вы не можете сделать это с помощью соединения?Список стран известен только на стороне клиента?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...