Я использую метод elementat(Int32)
получить определенный элемент результата запроса.
var mds = db.TDP_MissioniDestinazioni.Where(p => p.MissioneID == missioneRow.MissioneID);
destinazioneRow = mds.ElementAt(i);
LINQ к Объектам не распознает метод 'TimeEntModel. TDP_MissioniDestinazioni ElementAt [TDP_MissioniDestinazioni]
(Система. Linq. IQueryable '1 [TimeEntModel. TDP_MissioniDestinazioni], Int32)', метод и этот метод не могут быть переведены в выражение хранилища.
Почему я получаю эту ошибку и как я могу зафиксировать ее?
Вы счастливы получить все "более ранние" результаты? Если это так, либо вызовите ToList ()
, чтобы кэшировать их, либо AsEnumerable ()
, чтобы получать их при каждом вызове, при этом AsEnumerable
просто способ принудительно компилятор для вызова Enumerable.ElementAt
вместо Queryable.ElementAt
.
Возможно, есть способ получше (например, с помощью Take или Skip) - не могли бы вы дать больше информации о более широкой картине?
Вы можете просто смешать Skip
и First
, чтобы сделать трюк:
mds.Skip(i).First()