LINQ to Entities does not recognize the method ElementAt(i);
Solution 1
Are you happy to fetch all the "earlier" results? If so, either call ToList()
to cache them, or AsEnumerable()
to fetch them on each call, with the AsEnumerable
just being a way to force the compiler to call Enumerable.ElementAt
instead of Queryable.ElementAt
.
There may be a better way (e.g. using Take or Skip) though - could you give more information about the bigger picture?
Solution 2
You can simply mix Skip
and First
to do the trick:
mds.Skip(i).First()
Luca Romagnoli
Updated on June 03, 2022Comments
-
Luca Romagnoli almost 2 years
I'm using the method
elementat(Int32)
to get a specific element of a query's result.var mds = db.TDP_MissioniDestinazioni.Where(p => p.MissioneID == missioneRow.MissioneID); destinazioneRow = mds.ElementAt(i);
LINQ to Entities does not recognize the method 'TimeEntModel.TDP_MissioniDestinazioni ElementAt[TDP_MissioniDestinazioni]
(System.Linq.IQueryable`1[TimeEntModel.TDP_MissioniDestinazioni], Int32)' method, and this method cannot be translated into a store expression.Why am I getting this error and how can I fix it?