LINQ 分组和忽略列

本文关键字:LINQ | 更新日期: 2023-09-27 18:33:32

我正在使用EF和LINQ。我的数据库表中有以下内容

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

请帮忙。谢谢

LINQ 分组和忽略列

您需要在多列上应用 group by,因此您需要使用如下所示的代码,这些代码在多列上按

...
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 };
var query = from item in context.Item
            group by item.Name,ItemId,item.CategoryId
           select item.Name,Item.Id,item.CategoryId;