J’utilise la méthode elementat(Int32)
pour obtenir un élément spécifique du résultat d’une requête.
var mds = db.TDP_MissioniDestinazioni.Where(p => p.MissioneID == missioneRow.MissioneID); destinazioneRow = mds.ElementAt(i);
LINQ to Entities ne reconnaît pas la méthode ‘TimeEntModel.TDP_MissioniDestinazioni ElementAt [TDP_MissioniDestinazioni]
(System.Linq.IQueryable`1 [TimeEntModel.TDP_MissioniDestinazioni], Int32) ‘et cette méthode ne peut pas être traduite en une expression de magasin.
Pourquoi ai-je cette erreur et comment puis-je la réparer?
Êtes-vous heureux de récupérer tous les résultats “précédents”? Si tel est le cas, appelez ToList()
pour les mettre en cache ou AsEnumerable()
pour les récupérer à chaque appel, AsEnumerable
étant simplement un moyen de forcer le compilateur à appeler Enumerable.ElementAt
au lieu de Queryable.ElementAt
.
Il existe peut-être un meilleur moyen (par exemple, en prenant Take ou Skip) – pourriez-vous donner plus d’informations sur l’ensemble?
Vous pouvez simplement mélanger Skip
et First
pour faire l’affaire:
mds.Skip(i).First()