Sorgunun sonucunun belirli bir öğesini almak için elementat(Int32)
yöntemini kullanıyorum.LINQ, ElementAt (i) yöntemini tanımıyor;
var mds = db.TDP_MissioniDestinazioni.Where(p => p.MissioneID == missioneRow.MissioneID);
destinazioneRow = mds.ElementAt(i);
yöntem 'TimeEntModel.TDP_MissioniDestinazioni ElementAt [TDP_MissioniDestinazioni]
(System.Linq.IQueryable`1 [TimeEntModel.TDP_MissioniDestinazioni] Int32)' yöntem tanımadığı LıNQ varlıkları ve Bu yöntem bir mağazada ifadesine dönüştürülemez.
Neden bu hatayı alıyorum ve nasıl düzeltebilirim?
@Steven: Bunun çevirisi mds.Skip (i - 1) ile karşılaştırılabilir olur gibi bir fikir ne .İlk()? –
@Jon: Umarım EF bunun için aynı SQL kodunu oluşturur, ancak benim eğitimli tahminim, 'mds.Skip (i-1) .First()' inin daha verimli SQL üretmesidir. İyi bir! – Steven
".ElementAt (i)", 0 ile başladığından beri 'i-1 'yerine' .Skip (i) 'yi kullanmanız gerektiğini düşünüyorum. Yani,' .ElementAt (0)' eşdeğeri olmalıdır. 0) .İlk() '. Yine de neredeyse üç yıl geciktim. –