我已经搜索了档案,但找不到适用于linq到sql的解决方案.
如何在linq中创建自定义orderby到sql,以便它生成这样的SQL代码
ORDER BY
CASE SEASON
WHEN 'WINTER' THEN 1
WHEN 'SPRING' THEN 2
WHEN 'SUMMER' THEN 3
WHEN 'AUTUMN' THEN 4
END
Run Code Online (Sandbox Code Playgroud)
请注意,自定义比较器似乎没有编译和OrderByWeight,如本教程中所示(http://www.skindog.co.uk/2009/03/18/custom-sorting-order-in-linq-order-by-weighting/)似乎不存在
注意
我希望订单发生在sql server而不是c#中,因为这会给我不同的结果,因为我正在对结果进行分区.
Ran*_*der 12
这是一种使用lambda表达式的方法
MyTable
.OrderBy (t => (t.Season == "Winter") ? 1 : (t.Season == "Spring") ? 2 : [...])
.Select (
t => new
{
MyColumn = t.MyColumn
...
}
)
归档时间: |
|
查看次数: |
1897 次 |
最近记录: |