c #LINQ通过属性的子属性对列表进行排序,该属性是对象列表

时间:2015-09-02 13:21:29

标签: c# linq list sorting

我有一个Order类,它由许多属性组成,其中一个属性为CourseCourse对象包含MeetingDays列表。 每个MeetingDay对象都包含许多属性,其中一个属性为StartDate

现在我想对(OrderBy)订单列表进行排序,并按StartDate的{​​{1}}属性对其进行排序。

由于订单可以有多个MeetingDay:我也有一个日期,我只想按每个订单MeetingDays排序,等于日期参数。

因此,如果一个订单在上午10点开始并在下午2点结束,我希望它在我的列表中订购,之后另一个订单从下午3点开始到下午6点结束。

修改

如果这样的话可能会很好:

MeetingDay

1 个答案:

答案 0 :(得分:0)

仅当一个MeetingDay.StartDate与日期匹配时才会生效:

var sortedOrders = orders.OrderBy(x => x.Course.MeetingDays.Single(y => y.StartDate.Date == date.Date).StartDate).ToList();
相关问题