EF Query: Как ограничить вложенные элементы - PullRequest
0 голосов
/ 24 мая 2011

Пожалуйста, помогите мне написать запрос для EF.

У меня есть следующие таблицы:

Products
 ProductId
 Name

Items
  ProductId
  Cost

Как выбрать товар с именем «AAA» и ТОЛЬКО с товарами, стоимость которых равна 100?

Я написал следующее:

ctx.Products.Include("Items").Where(p=>p.Name == "AAA" && p.Items.Any(i=>i.Cost == 100)).FirstOrDefault()

но в результате я получил Товар с именем "AAA" и со ВСЕМИ предметами.

Спасибо, Дмитрий

1 Ответ

0 голосов
/ 24 мая 2011

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

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