Я реализую некоторые базовые функции ранжирования в своем приложении MVC,
но я сталкиваюсь с некоторыми странными ошибками при выполнении этого запроса:
Цель этого запроса - найти 10 лучших гонщиков с самым длинным
общее время - т.е. сумма всех кругов, пройденных каждым гонщиком.
var topRiders = from rider in _riderDataProvider.GetAll()
orderby
(from session in rider.Sessions
from lap in session.Laps
select lap.LapTime.TotalSeconds)
.Sum()
descending
select rider;
var result = topRiders.Take(10).ToArray();
Однако выполнение запроса выдает:
System.Data.SqlClient.SqlException
: только одно выражение может быть указано в списке выбора, если подзапрос не введен с EXISTS.
Честно говоря, я понятия не имею, что означает это исключение или как его исправить.
Есть тонкая ошибка, которую я пропускаю, или я превысил возможности LINQ to SQL?
(Я могу переписать запрос в SQL, если это так, но я бы предпочел не делать этого.)