我有以下两个类。如果我有一个类Schedule的通用列表,如List,我该如何编写LINQ查询,以便在此列表中获取所有源ID匹配1,2,3...X并且开始时间大于某个日期时间的项目,然后我想针对每个SourceId返回前3个元素(即:按SourceId分组)。
由于此列表将包含大量记录,因此我希望编写最有效的LINQ查询。
同时,我希望最终结果的形状为List的形式。
由于此列表将包含大量记录,因此我希望编写最有效的LINQ查询。
同时,我希望最终结果的形状为List的形式。
public class Source
{
public int SourceId { get; set; }
public string Name { get; set; }
}
public class Schedule
{
public int SourceId { get; set; }
public Source Source { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
}