C# LINQ分组和忽略列
我正在使用EF和LINQ。 我的db表中有以下内容C# LINQ分组和忽略列,c#,linq,entity-framework,group-by,linq-to-objects,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
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
请帮忙。谢谢您需要应用group by,它位于多列上,因此您需要使用如下代码,该代码在多列上执行group by
var query = from item in context.Item
group by item.Name,ItemId,item.CategoryId
select item.Name,Item.Id,item.CategoryId;
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 };
您需要应用在多列上的GROUPBY,因此为此,您需要使用如下代码,在多列上执行GROUPBY
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 };
在您重新加载页面之前,我已编辑了我的答案:)在您重新加载页面之前,我已编辑了我的答案:)不起作用。我无法按it.ItemId和it.CategoryId进行分组??当我开始键入group by it.ContentObjectId时,。。。在“,”it tell me“cannot resolve symbol“@PranayRana
item
是用于表示项目集合的名称Shane Km之后,您需要将其替换为对表对象的引用,例如类似于上下文的内容。items
@PranayRana即使只是供参考(计数是个好主意)你应该把它添加到文本中,这样就不会那么混乱了!否则-只需删除可视化,因为它无论如何都做不好!(这就像谈论蓝色,但在使用或多或少的水时绘制黄色图片以显示对比效果-当然…颜色是基础,…但蓝色可能表现不同)不起作用。我无法按it.ItemId和it.CategoryId进行分组??当我开始键入group by it.ContentObjectId时,。。。在“,”it tell me“cannot resolve symbol“@PranayRanaitem
是用于表示项目集合的名称Shane Km之后,您需要将其替换为对表对象的引用,例如类似于上下文的内容。items
@PranayRana即使只是供参考(计数是个好主意)你应该把它添加到文本中,这样就不会那么混乱了!否则-只需删除可视化,因为它无论如何都做不好!(这就像谈论蓝色,但在使用或多或少的水时绘制黄色图片以显示对比效果-当然…颜色是基础,…但蓝色的表现可能不同)