通过枚举对 LINQ 表达式的结果进行排序
Order results of LINQ expression by an Enum
我有以下模型实体:
public class Itinerary
{
public int Id {get; set }
public DateTime? Date { get; set; }
public EnumType Type { get; set; }
}
public enum EnumType
{
Start,
Intermediary,
End
}
我想首先基于枚举(属性 命名为 Type
)然后基于日期时间(属性 命名为 Date
)排序。我已经尝试过下面的表达式,但这不是按 Type
first
排序的
var itineraries = t.Itineraries.OrderBy(x => x.Type).OrderBy(x => x.Date).ToList();
如何排序我的 LINQ 表达式的结果,首先按 Type
(顺序:开始、中间、结束)然后按 Date
?
原因是因为有时没有定义日期,所以我需要按类型排序。
使用 ThenBy 进一步排序:
var itineraries = t.Itineraries.OrderBy(x => x.Type).ThenBy(x => x.Date).ToList();
我有以下模型实体:
public class Itinerary
{
public int Id {get; set }
public DateTime? Date { get; set; }
public EnumType Type { get; set; }
}
public enum EnumType
{
Start,
Intermediary,
End
}
我想首先基于枚举(属性 命名为 Type
)然后基于日期时间(属性 命名为 Date
)排序。我已经尝试过下面的表达式,但这不是按 Type
first
var itineraries = t.Itineraries.OrderBy(x => x.Type).OrderBy(x => x.Date).ToList();
如何排序我的 LINQ 表达式的结果,首先按 Type
(顺序:开始、中间、结束)然后按 Date
?
原因是因为有时没有定义日期,所以我需要按类型排序。
使用 ThenBy 进一步排序:
var itineraries = t.Itineraries.OrderBy(x => x.Type).ThenBy(x => x.Date).ToList();