C# 如何从具有多列的表中对数据进行分组
我正试图以这种方式使用多列对数据进行分组:C# 如何从具有多列的表中对数据进行分组,c#,oracle,linq,edmx,C#,Oracle,Linq,Edmx,我正试图以这种方式使用多列对数据进行分组: var groupedCustomers = listToProcess.GroupBy(cn => cn.CUST_NAME).Select(g => g.ToList()).ToList(); 这样分组,我对得到的结果感到满意,因为我可以循环遍历所有对象并获得它们的所有属性。但是,由于我应该使用两个字段(cust_name和cust_address)对我的表数据进行分组,因此我尝试这样做: var groupedCustomers =
var groupedCustomers = listToProcess.GroupBy(cn => cn.CUST_NAME).Select(g => g.ToList()).ToList();
这样分组,我对得到的结果感到满意,因为我可以循环遍历所有对象并获得它们的所有属性。但是,由于我应该使用两个字段(cust_name和cust_address)对我的表数据进行分组,因此我尝试这样做:
var groupedCustomers = listToProcess.GroupBy(cn => cn.CUST_NAME, ca => ca.CUST_ADDRESS).Select(g => g.ToList()).ToList();
这样的处理也可以工作,但是对于每个对象,我只得到address属性
还有其他方法吗?您可以使用匿名类型:
试一试
var groupedCustomers = listToProcess
.GroupBy(cn => new { cn.CUST_NAME, cn.CUST_ADDRESS })
.Select(g => g.ToList()).ToList();
var groupedCustomers = listToProcess
.GroupBy(cn => new {CUST_NAME = cn.CUST_NAME, CUST_ADDRESS = cn.CUST_ADDRESS })
.Select(g => g.ToList()).ToList();