LINQ 如何按升序对列表进行排序

how to sort a list in ascending order LINQ

我有一个按降序排序的数据,但我打算按日期按升序获取它。

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

我试过的是Reverse();

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

但这引发了异常。

已编辑:

arekzyla 的回答对我有帮助,但我遇到了一个问题,我需要对两列进行升序排序,就像 DateTime 一样,我也希望 EmpId 以升序排序

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

尝试使用

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

Enumerable.OrderBy

Sorts the elements of a sequence in ascending order according to a key.

试试这个

对于 Linq 中的升序顺序

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

Linq 中的降序 顺序

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

我被困在一个点上,我需要对两列进行升序排序,就像 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.