Linq使用多字段分组、排序

我们知道Linq中有对应的分组语法GroupBy(字段)以及排序语法OrderBy(字段)或者OrderByDescending(字段),但很多时候,我们查询结果需要使用不止一个字段进行分组或者排序。这种时候我们该怎么实现呢?下面我们就讲下具体的实现。

  • 多字段分组
    假设我们的查询结果q需要以OrgId、TypeId两个字段进行分组,那么写法就如下:
 q.GroupBy(m=>new {m.OrgId,m.TypeId})

可以发现,GroupBy方法此时传入的参数是一个对象,此时我们分组参数可以传入不限量的字段。

  • 多字段排序
    假设我们的查询结果q需要以OrgId、CreateTime两个字段进行升序排序,那么写法就如下:
 q.OrderBy(m=>new {m.OrgId,m.CreateTime})

可以发现,OrderBy方法此时传入的参数是一个对象,此时我们排序参数也可以传入不限量的字段。

你可能感兴趣的:(Linq使用多字段分组、排序)