"Order by Col1, Col2" using entity framework
I need to order by 2 columns using the entity framework.
How is that done?
return _repository.GetSomething().OrderBy(x => x.Col1 .. Col2)?
i开发者_JAVA百科.e
SELECT * FROM Foo ORDER BY Col1, Col2
Try OrderBy(x => x.Col1).ThenBy(x => x.Col2)
. It is a LINQ feature, anyway, not exclusive to EF.
Another way:
qqq.OrderBy(x => new { x.Col1, x.Col2} )
Try:
OrderBy(x => x.Col1).ThenBy(x => x.Col2)
For order by descending try this:
OrderByDescending (x => x.Col1).ThenByDescending (x => x.Col2)
Following sorting happens in the DB level. Not on the returned result.
Try:
IQueryable<a>.OrderBy("col1 asc, col2 asc")
Example 1:
ctx.CateringOrders.OrderBy("Details.DeliveryDate asc, Details.DeliveryTime asc")
Example 2:
ctx.CateringOrders.OrderBy("{0} {1}, {2} {3}",
"Details.DeliveryDate", "asc",
"Details.DeliveryTime", "asc"
)
Where
IQueryable<a>
is entity query,
"col1 asc"
is column 1 and sorting direction
"col2 asc"
is column 2 and sorting direction
Please note, this will not work with Telerik's Grid or any other Telerik's DataSource component. Although it uses prefiltered IQueryable object, sorting is always done automatically as last step effectively overriding your sorting settings.
You have to follow: Specifying default sort in grid
精彩评论