我需要使用实体框架按2列进行排序。
怎么做?
return _repository.GetSomething().OrderBy(x => x.Col1 .. Col2)?
即
SELECT * FROM Foo ORDER BY Col1, Col2
我需要使用实体框架按2列进行排序。
怎么做?
return _repository.GetSomething().OrderBy(x => x.Col1 .. Col2)?
即
SELECT * FROM Foo ORDER BY Col1, Col2
Answers:
其他方式:
qqq.OrderBy(x => new { x.Col1, x.Col2} )
以下排序发生在数据库级别。不在返回的结果上。
尝试:
IQueryable<a>.OrderBy("col1 asc, col2 asc")
范例1:
ctx.CateringOrders.OrderBy("Details.DeliveryDate asc, Details.DeliveryTime asc")
范例2:
ctx.CateringOrders.OrderBy("{0} {1}, {2} {3}",
"Details.DeliveryDate", "asc",
"Details.DeliveryTime", "asc"
)
哪里
IQueryable<a>
是实体查询,
"col1 asc"
是第1列,排序方向
"col2 asc"
是第2列和排序方向
请注意,这不适用于Telerik的Grid或任何其他Telerik的DataSource组件。尽管它使用预过滤的IQueryable对象,但排序始终自动完成,这是最后一步,有效地覆盖了您的排序设置。
您必须遵循:在网格中指定默认排序