我正在使用方法elementat(Int32)
來獲取查詢結果的特定元素。LINQ to Entities不識別方法ElementAt(i);
var mds = db.TDP_MissioniDestinazioni.Where(p => p.MissioneID == missioneRow.MissioneID);
destinazioneRow = mds.ElementAt(i);
LINQ實體無法識別方法 'TimeEntModel.TDP_MissioniDestinazioni 的ElementAt [TDP_MissioniDestinazioni]
(System.Linq.IQueryable`1 [TimeEntModel.TDP_MissioniDestinazioni], 的Int32)' 方法,和此方法無法翻譯成商店 表達式。
爲什麼我得到這個錯誤,我該如何解決?
@Steven:任何想法的翻譯將被像mds.Skip(I - 1)相比。首先()? – 2010-02-26 14:33:50
@Jon:希望EF會爲此產生相同的SQL代碼,但我的教育猜測是你的'mds.Skip(i-1).First()'會產生更高效的SQL。好的! – Steven 2010-02-26 15:23:21
因爲'.ElementAt(i)'從0開始,所以我認爲你必須使用'.Skip(i)'而不是'i-1'。所以相當於'.ElementAt(0)'是'.Skip 0)。首先()'。不過,我已經快三年了。 – 2012-12-20 11:33:09