문제

LINQ에서 SQL을 사용하여 자동으로 재생되는 데이터 컨텍스트 객체에 액세스하고 있습니다. SQL 데이터베이스는 SQL Server 2000 상자입니다. 내가 작업하는 클래스는 SQL보기입니다. 나는 이것과 유사한 진술이 있습니다.

query = _context.OrderDetails
    .Where(w => w.Product == "TEST")
    .OrderBy(o => o.DateCompleted)
    .ThenBy(t => t.LineItemId)
    .Skip(startRowIndex) 
    .Take(maximumRows);

그러나 Skip의 값이 0이 아닌 경우이 오류가 발생합니다.

이 공급자는 쿼리가 단일 테이블 (비 조인) 쿼리이거나, 교차 또는 유니언 (concat)을 제외하고는 쿼리가 단일 테이블 (비 조인) 쿼리 인 모든 ID 열이 포함 된 순서대로 순서대로 반환 엔티티 또는 예측을 지원합니다. 작업.

나는 teh datecompleted와 lineitemid 사이에서 행이 독특 할 것이라고 생각하지만 다시 이것은 팝업됩니다. 이것이보기와 관련이 있습니까? 그렇다면이 문제를 어떻게 우회 할 수 있습니까?

도움이 되었습니까?

해결책

나는 당신이 OrderDetails 테이블에 ID 열이 없다면, 거기에 .distinct ()를 추가하거나 언급 된 다른 연산자 중 하나를 추가해야한다는 것입니다.

다른 팁

SQL Server 2000에는 LINQ가 건너 뛰고 기능을 수행하기 위해 LINQ가 돌아와야하는 "배관"이 누락되어 있습니다. 이는 SQL Server 2000과 함께 이러한 기능을 사용할 수있는 조건을 실질적으로 제한합니다.

신원 열을 포함하고 있는지 확인하십시오 _context.OrderDetails, 그리고 오류 메시지에 명시된대로 다른 모든 조건을 충족하고 있습니다.

물론 항상 SQL Server 2005 이상으로 업그레이드 할 수 있습니다. :)

추가 정보는 여기에 있습니다 : http://msdn.microsoft.com/en-us/library/bb386988.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top