【问题标题】:How to group data from table with multiple columns [duplicate]如何对具有多列的表中的数据进行分组[重复]
【发布时间】:2014-11-28 14:34:18
【问题描述】:

我正在尝试以这种方式使用多列对我的数据进行分组:

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();

这样的处理也可以工作但是对于每个对象,我只得到地址属性。

还有其他方法吗?

【问题讨论】:

    标签: c# oracle linq edmx


    【解决方案1】:

    您可以使用匿名类型作为composite key

    var groupedCustomers = listToProcess
           .GroupBy(cn => new { cn.CUST_NAME, cn.CUST_ADDRESS })
           .Select(g => g.ToList()).ToList();
    

    【讨论】:

      【解决方案2】:

      试试

         var groupedCustomers = listToProcess
                 .GroupBy(cn => new {CUST_NAME = cn.CUST_NAME, CUST_ADDRESS  = cn.CUST_ADDRESS })
                 .Select(g => g.ToList()).ToList();
      

      【讨论】:

        猜你喜欢
        • 2012-10-07
        • 1970-01-01
        • 2021-12-09
        • 2019-08-29
        • 1970-01-01
        • 2022-11-30
        • 2020-02-18
        • 1970-01-01
        • 2015-09-18
        相关资源
        最近更新 更多