GroupBy тогда принять в LINQ для сущностей?
Допустим, у меня есть следующие предметы:
ID Category Name
1 Fruit Banana
2 Car Mescedes
3 Fruit Blackberry
4 Fruit Mango
5 Car Lexus
6 Fruit Melon
7 Car BMW
8 Car Toyota
Я хочу сгруппировать их в Category
и брать только первые 3 предмета каждого Category
, Является ли это возможным?
Я ожидал выход:
ID Category Name
1 Fruit Banana
3 Fruit Blackberry
4 Fruit Mango
2 Car Mescedes
5 Car Lexus
7 Car BMW
Любая помощь будет оценена!
2 ответа
Решение
Из головы и не проверено:
from c in categoryList
group by c.Category into g
let fewItems = g.Take(3).ToList()
return new { Category = g.Key, Items = fewItems }
Допустим, ваша коллекция списков названа как categoryList.
Linq запрашивает, чтобы достичь того, что вы хотите:
categoryList.GroupBy(c=>c.Category).Take(3)