다음 예외가 발생하는 이유를 찾을 수 없습니다. 어떤 도움이라도 대단히 감사합니다."LINQ to Entities가 메서드를 인식하지 못합니다"SkipWhile이 실패합니다.
// EdcsEntities is derived from System.Data.Objects.ObjectContext
EdcsEntities db = new EdcsEntities();
var query = from i in db.Colleges
select i;
query = query.SkipWhile<College>(x => x.CollegeID != 100);
List<College> l = query.ToList<College>();
예외 : 엔티티
LINQ 메소드 'System.Linq.IQueryable
1[EDCS.ServiceLayer.DataAccess.College] SkipWhile[College](System.Linq.IQueryable
1 EDCS.ServiceLayer.DataAccess.College] System.Linq.Expressions.Expression를 인식하지 못하는1[System.Func
2 [EDCS.ServiceLayer.DataAccess.College, System.Boolean]]) ' 메서드이며이 메서드는 저장소 식으로 변환 할 수 없습니다.
당신에게 :
물론당신은 아마 이런 일을하고 싶지 :
EF에서
SkipWhile
를 사용하는 방법은 그냥 호출하기 전에AsEnumerable()
와 개체로 쿼리를 설정하는 것입니다 아마도'SkipWhile' 대신에'Where'를 원할 것입니다. – Gabe조건이 참인 한 소스의 요소를 무시한 다음 나머지 요소를 반환합니다. – Laura
[이 질문에] 찾을 수 있습니다 (http://stackoverflow.com/questions/9227828/how-to-implement-skipwhile-with-linq-to-sql-without-first-loading-the-whole-list) 유용합니다 . LINQ to SQL이지만 LINQ to Entities에서도 동일하게 작동해야합니다. –