elementat(Int32)
메서드를 사용하여 쿼리 결과의 특정 요소를 가져옵니다.LINQ to Entities가 ElementAt (i) 메서드를 인식하지 못합니다.
var mds = db.TDP_MissioniDestinazioni.Where(p => p.MissioneID == missioneRow.MissioneID);
destinazioneRow = mds.ElementAt(i);
있어서 'TimeEntModel.TDP_MissioniDestinazioni ElementAt [TDP_MissioniDestinazioni]
(System.Linq.IQueryable`1 [TimeEntModel.TDP_MissioniDestinazioni, INT32)'방식을 인식하지 못하는 엔티티 LINQ 및 이 방법은 상점 표현으로 변환 할 수 없습니다.
왜이 오류가 발생하며 어떻게 해결할 수 있습니까?
@Steven : 그에 대한 번역이 mds.Skip (I - 1)과 비교 될 것 같은 어떤 생각 좁은 방을()? –
@ 존 : EF가 이와 같은 SQL 코드를 생성했으면 좋겠지 만 필자의 'mds.Skip (.-1) .First()'가보다 효율적인 SQL을 생성 할 것이라고 추측합니다. 좋은 분! – Steven
'.ElementAt (i)'가 0으로 시작하기 때문에'i-1' 대신'.Skip (i)'를 사용해야한다고 생각합니다. 따라서'.ElementAt (0)'과 같은 것은'.Skip 0) .First()'. 나는 거의 3 년 늦었다. –