在使用Entity Framework時,若有多個排序,需要OrderBy (OrderByDescending)再ThenBy (ThenByDescending) 假設需要根據Name升序排序,再根據Id降序排序,則: 藉助System.Linq.Dynamic的方式 首先需要在項目中引用Sys ...
在使用Entity Framework時,若有多個排序,需要OrderBy (OrderByDescending)再ThenBy (ThenByDescending)
假設需要根據Name升序排序,再根據Id降序排序,則:
using (EFContext<Member> context = new EFContext<Member>())
{
var lst = context.Table.OrderBy(m => m.Name).ThenByDescending(e => e.Id).ToList();
foreach (var item in lst)
{
Console.WriteLine("name:{0}, Id:{1}",item.Name,item.Id);
}
}
藉助System.Linq.Dynamic的方式
首先需要在項目中引用System.Linq.Dynamic,可以藉助Nuget工具添加引用
引入命名空間System.Linq.Dynamic
using System.Linq.Dynamic;
修改上面的代碼,
using (EFContext<Member> context = new EFContext<Member>())
{
var lst = context.Table.OrderBy("Name asc,Id desc").ToList();
foreach (var item in lst)
{
Console.WriteLine("name:{0}, Id:{1}",item.Name,item.Id);
}
}
此處可以看到,OrderBy()方法傳入的是排序字元串