我正试图通过这种方式使用多列来对数据进行分组:
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();
这样的处理对每个对象也有效但,我只获取地址属性。
还有其他方法吗?
答案 0 :(得分:1)
您可以将匿名类型用作composite key:
var groupedCustomers = listToProcess
.GroupBy(cn => new { cn.CUST_NAME, cn.CUST_ADDRESS })
.Select(g => g.ToList()).ToList();
答案 1 :(得分:1)
尝试
var groupedCustomers = listToProcess
.GroupBy(cn => new {CUST_NAME = cn.CUST_NAME, CUST_ADDRESS = cn.CUST_ADDRESS })
.Select(g => g.ToList()).ToList();