프로그램에 전체 데이터 집합을로드하지 않고 데이터에 페이지 매기기를 사용하려면 다음 코드를 사용할 수 있습니까?저장 프로 시저에서 LINQ로 페이지 매김?
var r = from c in entities.GetSearchData(null,"en",null,true) select c;
IPagedList<Models.SearchResult> results = r.ToPagedList<Models.SearchResult>(1, 10);
페이징 된 결과를 얻으려면 LINQ가있는 저장 프로 시저를 사용하려고합니다. (BTW 위의 코드는 "쿼리 결과를 두 번 이상 열거 할 수 없습니다."오류). 가능한가?
오류가 두 번 이상 열거 된 경우 : r.ToList()를 두 번 이상 열거 할 수 있습니다. 또한 Linq를 사용하여 Take(), Skip() 확장 메소드를 사용하여 특정 데이터 세트를 가져올 수도 있습니다. 이렇게하면 원하는 경우 저장 프로 시저의 사용을 생략 할 수도 있습니다. –
하지만 ToList()를 사용하면 데이터가 페이지 매기기 전에로드됩니다. 전체 세트를로드하지 않고이 작업을 수행해야합니다. –
저장 프로 시저가 페이징 매개 변수를 허용합니까? 페이징은 저장 프로 시저에 의해 내부적으로 수행되어야합니다. –