Las*_*vik 109 .net c# linq entity-framework
我需要使用实体框架按2列排序.
怎么做的?
return _repository.GetSomething().OrderBy(x => x.Col1 .. Col2)?
Run Code Online (Sandbox Code Playgroud)
即
SELECT * FROM Foo ORDER BY Col1, Col2
Run Code Online (Sandbox Code Playgroud)
/ M
par*_*lko 49
其他方式:
qqq.OrderBy(x => new { x.Col1, x.Col2} )
Run Code Online (Sandbox Code Playgroud)
hoj*_*.mi 24
尝试:
OrderBy(x => x.Col1).ThenBy(x => x.Col2)
Run Code Online (Sandbox Code Playgroud)
对于降序排序试试这个:
OrderByDescending (x => x.Col1).ThenByDescending (x => x.Col2)
Run Code Online (Sandbox Code Playgroud)
以下排序发生在数据库级别。不在返回结果上。
尝试:
IQueryable<a>.OrderBy("col1 asc, col2 asc")
Run Code Online (Sandbox Code Playgroud)
示例1:
ctx.CateringOrders.OrderBy("Details.DeliveryDate asc, Details.DeliveryTime asc")
Run Code Online (Sandbox Code Playgroud)
示例2:
ctx.CateringOrders.OrderBy("{0} {1}, {2} {3}",
"Details.DeliveryDate", "asc",
"Details.DeliveryTime", "asc"
)
Run Code Online (Sandbox Code Playgroud)
其中
IQueryable<a>
是实体查询,
"col1 asc"
是第 1 列和排序方向
"col2 asc"
是第 2 列和排序方向