У меня есть 2 класса, как показано ниже. Если бы у меня был общий список класса Schedule, например List, как бы я написал запрос LINQ так, чтобы я мог получить все элементы в этом списке, где SourceId соответствует 1,2,3 ... X и StartTime> некоторое время, а затем я хочу вернуть первые 3 элемента для каждого SourceId (то есть: сгруппировать по SourceId)
Поскольку этот список будет содержать огромное количество записей, я хочу написать наиболее эффективный запрос LINQ
Также я хочу, чтобы окончательная форма результата была в виде списка
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; }
}