我有這些對象:按子集合的子屬性對LINQ查詢進行排序?
public class Class
{
public Guid Id {get;set;}
public string Name {get;set;}
public virtual ICollection<Schedule> Schedules{get;set;}
}
public class Schedule
{
public Guid Id {get;set;}
public virtual DayOfTheWeekId {get;set;}
public virtual DayOfTheWeek {get;set;}
public DateTime StartTime {get;set;}
public DateTime EndTime {get;set;}
}
我當前的查詢看起來是這樣,但我得到這個異常:至少一個對象必須實現IComparable。:
Repository
.Get(c => c.Schedules.Any(s => s.DayOfTheWeekTypeId == dayOfTheWeekId))
.OrderBy(e => e.Schedules.OrderBy(s => s.StartDateTime)).ToList()
當我設置的時候,我總是使用相同的一天,因爲我需要顯示在一週的某幾天班。這就是DayOfTheWeek對象發揮作用的地方。這是我如何設置時間:
var schedule = new Schedule{
StartDateTime = new DateTime(1999,1,1) + new TimeSpan(9, 15, 0),
EndDateTime = new DateTime(1999,1,1) + new TimeSpan(9, 15, 0),
DayOfTheWeekTypeId = 1
}
更新:
想到這裏,我想我可能要分組......
Linq的「Group By」示例位於:http://code.msdn.microsoft.com/LINQ-to-DataSets -Grouping-c62703ea –