Как я могу использовать Linq для объединения объектов и сущностей? - PullRequest
3 голосов
/ 05 ноября 2011

У меня есть коллекция идентификаторов в памяти, и я хотел бы получить только строки из БД, соответствующие этим идентификаторам.

В SQL я мог бы написать запрос типа SELECT * FROM mytable WHERE id IN (1,3,5,10) или выполнить объединение таблиц.

Моя проблема в том, что EF не может создать запрос, в котором я объединяю свои EF-данные с моим локальным массивом или списком.

(я использую EF4.1, но я предполагаю, что проблема / решение будет аналогичным в более старых версиях, а также с Linq-to-SQL.)

1 Ответ

4 голосов
/ 05 ноября 2011

Вы можете использовать Contains() со своей коллекцией идентификаторов myIDs, чтобы сгенерировать эквивалентный WHERE id IN .. запрос:

var results = context.mytable.Where(x => myIds.Contains(x.Id));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...