使用实体框架的“ Col1,Col2订单”


Answers:


244

尝试OrderBy(x => x.Col1).ThenBy(x => x.Col2)。无论如何,这是LINQ功能,并非EF独有。


50

其他方式:

qqq.OrderBy(x => new { x.Col1, x.Col2} )

您如何订购以这种方式降序?
user551113

10
qqq.OrderByDescending(x => new {x.Col1,x.Col2})
parfilko 2015年

7
当在两个字符串字段上使用EntityFramework Core时,出现“至少一个对象必须实现IComparable”错误消息。
sixtstorm1

26

尝试:

OrderBy(x => x.Col1).ThenBy(x => x.Col2)

对于降序排列,请尝试以下操作:

OrderByDescending (x => x.Col1).ThenByDescending (x => x.Col2)

1

以下排序发生在数据库级别。不在返回的结果上。

尝试:

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列和排序方向


-6

请注意,这不适用于Telerik的Grid或任何其他Telerik的DataSource组件。尽管它使用预过滤的IQueryable对象,但排序始终自动完成,这是最后一步,有效地覆盖了您的排序设置。

您必须遵循:在网格中指定默认排序

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.