У меня есть база данных SQL Server с таблицей Events, в которой хранится около миллиона событий, каждое из которых содержит dateStart, dateEnd, title, rating и другие биты.
Мне нужно отобразить список лет, где каждый год отображает 5 событий с самым высоким рейтингом и общее количество событий в этом году.
Итак, что-то вроде ...
Топ 5 событий за 2009 год (из 199 событий)
- Событие A
- Событие B
- Событие C
- Событие D
- Событие E
Топ 5 событий за 2010 год (из 469 событий)
- Событие F
- Событие G
- Событие H
- Событие I
- Событие J
.... и т. Д.
Из-за огромного количества записей я бы хотел избежать запроса Linq, который вытянет все из базы данных, но я не знаю, возможно ли это, и моих знаний о Linq недостаточно, чтобы понять, как это будет работать.
Каков наиболее эффективный метод извлечения этой структуры данных из базы данных?
Заранее большое спасибо - весь день искалечил мой мозг, пытаясь разобраться с этим.