linq有两种方式对一个数据集合进行分组
1.直接传递匿名类型
personList
.groupBy(p=>{p.Age,p.Sex})
ProductAttrsTable
.AsEnumerable()
.GroupBy(g=>g.CategoryID)
.SelectMany(g=>g.GroupBy(b=>b.BrandID))
.ToList();
先根据条件1进行分组,然后再条件1的结果中再根据条件2来分组,再把这些组连接起来成为一个序列。
SelecteMany()就是将其中的序列连接成一个完整的序列。