在 LINQ 里面的排序
-- SQL 写法
select * from Student where ID < 5
order by ID asc
-- 也可以按照多个字段进行排序的
select * from Student
order by Name asc,ClassID descCode language: JavaScript (javascript)
多列排序
using (var db = new DataClasses1DataContext())
{
var q = from s in db.Student
orderby s.Name ascending, s.ClassID descending
select s;
var r = q.ToList();
}Code language: JavaScript (javascript)
生成的 SQL:
SELECT [t0].[ID], [t0].[Name], [t0].[ClassID], [t0].[AddTime], [t0].[Status] FROM [dbo].[Student] AS [t0] ORDER BY [t0].[Name], [t0].[ClassID] DESCCode language: CSS (css)
要点:
ascending可省略,默认就是升序(orderby s.Name等效orderby s.Name ascending)- 多字段用逗号分隔,第二个字段开始用
ascending/descending指定方向 - 方法语法中用
ThenBy()/ThenByDescending()追加第二排序条件
Previous: 结果集差集(Except)
Next: 批量删除的正确写法