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?
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?
You can simply mix Skip
and First
to do the trick:
mds.Skip(i).First()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With