LINQ分组和忽略列

时间:2012-05-08 07:20:29

标签: c# linq entity-framework group-by linq-to-objects

我正在使用EF和LINQ。 我在db表中有以下内容

branchId      Name        ItemId          CategoryId
2             Test1       1               1
5             Test1       1               1
3             Test1       1               2
2             Test2       2               1
7             Test2       2               1

我需要按ItemId进行分组,并且应忽略BranchId,因此输出应为

Name  ItemId  CategoryId
Test1 1       1
Test1 1       2
Test2 2       2

请帮忙。感谢

2 个答案:

答案 0 :(得分:1)

您需要应用多列上的分组,因此您需要选择如下所示的代码,这些代码在多个列上进行分组....

var numberGroups = from it in context.items
                   group it by new { it.ItemId,it.Name,it.CateogryID } into g
                   select new { ItemID = g.Key.ItemID, Name= g.Key.Name
                                CategoryID = g.Key.CategoryID };

答案 1 :(得分:0)

var query = from item in context.Item
            group by item.Name,ItemId,item.CategoryId
           select item.Name,Item.Id,item.CategoryId;