Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从具有多列的表中对数据进行分组_C#_Oracle_Linq_Edmx - Fatal编程技术网

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