linq对数据集多个字段进行分组

来源:互联网 发布:中国国家顶级域名 编辑:程序博客网 时间:2024/06/06 01:20

linq有两种方式对一个数据集合进行分组

1.直接传递匿名类型

personList.groupBy(p=>{p.Age,p.Sex})


2.如果遇到一个不支持创建匿名对象来多字段进行分组的,比如System.DataRow

ProductAttrsTable.AsEnumerable().GroupBy(g=>g.CategoryID).SelectMany(g=>g.GroupBy(b=>b.BrandID)).ToList();
先根据条件1进行分组,然后再条件1的结果中再根据条件2来分组,再把这些组连接起来成为一个序列。

SelecteMany()就是将其中的序列连接成一个完整的序列。



0 0