通过枚举对 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();