Estoy usando el método elementat(Int32)
para obtener un elemento específico del resultado de una consulta.LINQ to Entities no reconoce el método ElementAt (i);
var mds = db.TDP_MissioniDestinazioni.Where(p => p.MissioneID == missioneRow.MissioneID);
destinazioneRow = mds.ElementAt(i);
LINQ to Entities no reconoce el método 'TimeEntModel.TDP_MissioniDestinazioni ElementAt [TDP_MissioniDestinazioni]
(System.Linq.IQueryable`1 [TimeEntModel.TDP_MissioniDestinazioni], Int32)' método, y este método no se puede traducir a una expresión de tienda .
¿Por qué me sale este error y cómo puedo solucionarlo?
@Steven: ¿Alguna idea de lo que la traducción para ese sería como comparar con mds.Skip (i - 1) .First()? –
@Jon: con suerte EF generaría el mismo código SQL para esto, pero mi conjetura es que su 'mds.Skip (i-1) .First()' produciría SQL más eficiente. ¡Bien! – Steven
Creo que tienes que usar '.Skip (i)' en lugar de 'i-1' ya que' .ElementAt (i) 'comienza con 0. Entonces el equivalente a' .ElementAt (0) 'sería' .Skip (0) .Primero() '. Sin embargo, tengo casi tres años de retraso. –