запрос структуры объекта - PullRequest
       1

запрос структуры объекта

0 голосов
/ 01 декабря 2010

У меня есть таблицы: Клиент, Заказ, Продукт

У клиента много заказов, у каждого заказа много продуктов.

Как мне написать запрос, чтобы получитьвсе товары от клиента?Мне нужно использовать его как источник данных, спасибо за помощь, пока

Ответы [ 2 ]

2 голосов
/ 01 декабря 2010
var products = from customer in customers
               from order in customer.Orders
               from product in order.Products
               select product;

Просто используйте LINQ SelectMany.

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

Это должно работать:

var result = customer
                .SelectMany(x=>x.Orders)
                .Select(x=>x.Products)

Также вы можете добавить .Distinct (), чтобы получать только разные продукты

Другой путь - перейти от продуктов:

var result = dbContext.Products
                .Where(x=>x.Orders.Any(o=>o.Customer.Id == customer.Id))

Трудно читать и трудно понять, но все еще работает)

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