GroupBy тогда принять в LINQ для сущностей? - PullRequest
0 голосов
/ 24 марта 2011

Допустим, у меня есть следующие предметы:

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 ]

4 голосов
/ 24 марта 2011

с головы и не проверено:

from c in categoryList
group by c.Category into g
let fewItems = g.Take(3).ToList()
return new { Category = g.Key, Items = fewItems }
0 голосов
/ 24 марта 2011

Допустим, ваша коллекция списков названа как categoryList ..

Запрос linq для достижения желаемого:

categoryList.GroupBy(c=>c.Category).Take(3)
...