2012-12-05 3 views
0

데이터베이스에 10 개의 레코드가 있고 UI 클라이언트에 표시 할 데이터를 모두 가져 오지 않으므로 .skake() & .take()를 사용하여 페이징을 구현합니다. . 그러나 문제는 사용자가 특정 열의 격자를 정렬하려고 할 때 동적 정렬 방법 & 정렬 된 열의 쿼리 수정 ?? (참고 : 데이터를 가져 오기 위해 enitytframework를 사용하고 있습니다.)EntityFramework를 사용한 Sql 페이징 정렬

미리 감사드립니다.

답변

0

정렬 순서를 지정하는 매개 변수를 사용하여 동일한 양식 /보기에 다시 게시하는 표의 열 머리글에 대한 링크를 추가하십시오. 관련 열을 지정하는 .OrderBy()를 사용하여 EF 쿼리를 다시 실행하고 사용자가 열 머리글을 클릭 할 때 적용된 Where() 절을 적용하고 페이지를 다시 # 1로 설정합니다.

+0

.OrderBy()에서 열 이름을 동적으로 변경하는 방법 ?? 정렬 순서가 UI에서 변경된 경우 이제 기본 정렬 순서가 열 x (.OrderBy (x))라고 말합니다. EF에서 정렬 순서대로 열을 동적으로 변경하는 방법 ?? – Abhinay

+1

람다 식을 동적으로 구성하려면 System.Linq.Expressions 네임 스페이스를 탐색하십시오. 다음은 몇 가지 아이디어입니다. http://stackoverflow.com/questions/307512/how-do-i-apply-orderby-on-an-iqueryable-using-a-string-column-name-within-a-gene. 또는 switch 문을 작성하고 각 분기마다 다른 쿼리를 제공하면됩니다. –