问题描述
比如当前有如下的实体类:
public class FooBar
{
public virtual int Id { get; set; }
public virtual string Foo{ get; set; }
public virtual string Bar{ get; set; }
}
通过LINQ
的查询表达式是可以实现多字段排序,如:
//查询数据列表集合
var foobarList = GetFooBarList();
//查询并排序
var resultSet = from foobars in foobarList
orderby foobars.Foo, foobars.Bar
select foobars;
// 迭代查询结果
foreach (var foobar in resultSet)
{
// 你的代码逻辑
}
在LINQ
的Lambda
表达式中如何对多字段进行排序,如下的伪代码:
var resultSet = foobarList.OrderBy(x => new {x.Foo, x.Bar})
.Select(x=>x);
方案一
使用LINQ
的OrderBy
,然后ThenBy
或者ThenByDescending
这样的扩展方法,如下:
foobarList.OrderBy(x => x.Foo).ThenBy( x => x.Bar);
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册