Мое приложение работает под управлением ASP.NET 4.0, которое использует BLToolkti в качестве инструмента ORM.
У меня есть запросное выражение:
var q = db.GetTable<T>()
.Where(tb=>tb.TeamId==MyTeamId && tb.Season==MySeasonId)
.OrderByDescending(tb=>tb.Id)
.Take(20)
.Reverse()
Попытка преобразовать q.ToList() вызывает следующую ошибку:
Sequence 'Table(TeamBudget).Where(tb => ((tb.TeamId == value(VfmElita.DataLogicLayer.Teams.Team+TeamBudget+‹>c__DisplayClass78).teamId) AndAlso (tb.Season == value(VfmElita.DataLogicLayer. Teams.Team+TeamBudget+‹>c__DisplayClass78).season))).OrderByDescending(tb => Convert(tb.Id)).Take(20).Reverse()' нельзя преобразовать в SQL.
Если я удаляю ".Reverse()" из запрашиваемого объекта, все работает нормально.
По какой причине запрашиваемый объект с .Reverse() не может быть преобразован в SQL? Это ограничение BLToolkit? Есть ли какое-либо решение для этого?
Благодарю вас!
.OrderBy(tb => tb.Id)
вместо.Reverse()
? - person user2864740   schedule 13.08.2014