通过枚举对LINQ表达式的结果进行排序

时间:2015-01-30 17:32:05

标签: c# linq

我有以下模型实体:

public class Itinerary 
{
    public int Id {get; set }
    public DateTime? Date { get; set; }
    public EnumType Type { get; set; }
}

public enum EnumType
{
    Start,
    Intermediary,
    End
}

我想首先根据Enum(名为Type的属性)进行排序,然后基于DateTime(名为Date的属性)。我已经尝试了下面的表达式,但Type首先没有排序

var itineraries = t.Itineraries.OrderBy(x => x.Type).OrderBy(x => x.Date).ToList();

如何订购我的LINQ表达式的结果,首先是Type(订单:开始,中介,结束),然后是Date

原因是因为有时没有定义日期,所以我需要按类型排序。

1 个答案:

答案 0 :(得分:4)

使用ThenBy进一步排序:

var itineraries = t.Itineraries.OrderBy(x => x.Type).ThenBy(x => x.Date).ToList();