Скажите, что у меня есть объект Customer
и объект Sales
, отношений 1-ко-многим. Как я могу получить всех клиентов с номером N самых последних продаж?Entity Framework Возьмите N элементов детской коллекции
var result = Customers.Where(c => c.Sales.Any());
Это вернет всех клиентов со всеми их продажами. Что делать, если я хочу всего 2 записи о продажах от каждого клиента?
P/S: Я могу сделать это с помощью синтаксиса запроса, я ищу синтаксическое решение метода. Я просто не могу понять, как приковать их вместе в методе синтаксической форме
var result = from cust in context.Customers
select new
{
Customers = cust,
Sales = cust.Sales.OrderBy(s => s.Date).Take(2)
};
Это работает, но я не уверен, если это лучший способ сделать это.
EDIT: ОК, выясняется, что синтаксис запроса, который я включил здесь, тоже не работает. Только Sales
в анонимном типе эффективно сокращается до 2 записей.
var filtered = result.AsEnumerable().Select(r => r.Customers);
делает это до сих пор приводит в список клиентов со всеми их продаж
могли бы вы опубликовать запрос синтаксиса запроса? – Habib
обновлен с кодом синтаксиса запроса – Kagawa