如何按升序排序列表LINQ

时间:2018-04-11 14:30:00

标签: c# linq sql-order-by reverse

我所拥有的是按降序排序的数据,但我打算按升序顺序获取它。

var empList = db.AttendanceLogs.OrderByDescending(x => x.DateTime).ToList();

我尝试的是Reverse();

var empList = db.AttendanceLogs.OrderByDescending(x => x.DateTime).Reverse().ToList();

但这引起了例外。

编辑:

arekzyla的回答对我有所帮助,但我陷入了一个需要按升序排序两列的点,就像DateTime一样,我也希望EmpId按升序排列

4 个答案:

答案 0 :(得分:1)

试试这个

对于Linq中的升序订单

var empList = db.AttendanceLogs.OrderBy(x => x.DateTime).ToList();

Linq中的

降序顺序

var empList = db.AttendanceLogs.OrderByDescending(x => x.DateTime).ToList();

答案 1 :(得分:0)

也许尝试使用OrderBy(x => x.DateTime)而不是OrderByDescending(x => x.DateTime).Reverse()

答案 2 :(得分:0)

尝试使用

var empList = db.AttendanceLogs.OrderBy(x => x.DateTime).ToList();

Enumerable.OrderBy

  

根据键按升序对序列的元素进行排序。

答案 3 :(得分:0)

我遇到了一个问题,我需要按升序排序两列,就像DateTime一样,我也希望EmpId按升序排列

在SQL中:

SELECT *
FROM AttendanceLogs
ORDER BY EmpID, DateTime  ASC;

使用LINQ:

 var empList = db.AttendanceLogs.OrderBy(x => x.EmpID).ThenBy(x => x.DateTime).ToList();

^这里的问题是ThenBy performs a subsequent ordering of the elements in a sequence in ascending order.