Динамический запрос с Linq To Entities - PullRequest
0 голосов
/ 13 июля 2010

У меня есть EDM с двумя таблицами Product и ProductCategory с отношением «многие ко многим» между ними.

В настоящее время я пытаюсь создать динамический запрос для выбора продуктов, относящихся к категориям, выбранным пользователем через пользовательский интерфейс.

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

var productQuery = context.Product.Where
            (p => p.ProductCategories.Any(c => c.CategoryId == id1 ||
                                               c.CategoryId == id2 || ...));

Я много чего прочитал, и я на самом деле очень плохо знаком с linq, поэтому я действительно не знаю, с чего начать.

Каков наилучший подход для выполнения таких запросов?

Спасибо, что уделили время.

1 Ответ

0 голосов
/ 13 июля 2010
var ids = new [] { id1, id2, // ... 
var productQuery = context.Product.Where(
                       p => p.ProductCategories.Any(c => ids.Contains(c.CategoryId)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...