如何对包含多列的表中的数据进行分组
本文关键字:数据 包含多 | 更新日期: 2023-09-27 18:32:31
我正在尝试以这种方式使用多个列对数据进行分组:
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();
这样的处理也可以工作,但对于每个对象,我只获取地址属性。
还有其他方法可以做到这一点吗?
可以使用匿名类型作为组合键:
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();