在Entity Framework中按自定义顺序对VARCHAR字段进行排序

4
我有一个名为“ApDay VARCHAR(15)”的表字段,其中包含每周的日期。我想根据ApDay字段对表值进行排序。这意味着我想按照星期几的顺序排序结果。但是我想将它们按照自定义顺序排序。这意味着“Saturday”应该排在第一位,然后是其他的,“Sunday,Monday,...”等等。我正在使用Entity Framework。请问有谁能告诉我如何使用Entity Framework和C#实现这个目标。
提前感谢。

你可以使用 SQL 中的 CASE 根据你想要的顺序来翻译你的 AppDay 字段,然后按该字段排序。 - sqlab
1个回答

4

定义一个枚举如下

public enum Day
{
    Sunday =0, Monday = 1, Tuesday = 2, Wednesday =3, Thursday = 4, Friday = 5, Saturday = 6
}

然后,您可以按照以下方式通过AppDay准备有序列表。
var orderedList = myTableData.OrderByDescending(x => (int)Enum.Parse(typeof(Day), x.AppDay, true)); 

它起作用了。非常感谢你,你救了我的一天。 :) - solidshadow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接