문제

멋진 S # ARP 저장소와 페이징 확장 방법과 같은 정렬을 사용하고 있습니다.

public ViewResult Index(int? page, GridSortOptions sort) 
        {
            ViewData["sort"] = sort;

            if (!string.IsNullOrEmpty(sort.Column))
            {
                return View(this.LabService.GetAllLabs().OrderBy(sort.Column, sort.Direction).AsPagination(page ?? 1, 10));
            }
.

...

내 첫 번째 질문은 다음과 같습니다 :

(1)은 페이징 전에 정렬이 수행되어야하며,이 모든 것이 게으른 로딩을 사용하는 것임을 사용하는 것입니다 (즉, 실제 SQL에서 상위 N 또는 무언가를 내부적으로 사용합니다)?

현재의 MVC Contrib Grid 구현의 짧은 단점 중 하나는 다음과 같이 사용자 정의 된 열 (예 : 결합 된 열 값)에 대한 정렬을 허용하지 않는다는 것입니다.

String.Format("{0} {1}", lab.Proposer.LastName, lab.Proposer.FirstName)
.

(보기에서 사용)

나는 상당히 간단한 S # ARP 솔루션에서보기 모델을 보지 않으려고했지만,이 경우 사용자 정의 컬럼의 정렬을 허용하는이 경우에 볼 수있는 모델로 할 수 있습니다.

Automapper를 사용하여 과거의 모델을 뷰와 그 반대로 맵핑하기 위해 Automapper를 사용했습니다. 그러나이 솔루션에 한 가지 문제가 있습니다. 게으른 로딩을 사용하여 여전히 작동합니까?

다른 단어에서 Automapper는 정렬 및 페이징이 생성 된 성능을 초래하기 전에 먼저 모든 도메인 개체를보기 객체에 매핑 할 필요가 없습니다.

나는 이것이 의미가 있기를 바랍니다. 그리고 당신은 내가 무엇을 얻는지 이해합니다. 고마워.

최고의 소원,

기독교

도움이 되었습니까?

해결책

  1. yes 정렬 및 쿼리 (무언가= bla bla)가 페이징 전에 수행해야합니다. 실제로 SQL을 작성하는 경우에만이 작업을 신경 써야합니다. 그렇지 않으면 Hibernate 또는 linq2sql 또는 비슷한 무언가와 비슷한 경우에만주의해야합니다.'T

  2. 모든 automapper는 하나의 객체에서 값을 가져 와서 다른 객체 (일부 데이터 변환이 포함되어 있으며, 구성 및 모든 것)가있는 경우, 사용자 정의 valueResolver에서 어떤 물건을 작성하는지 않는 한기본적 으로이 Valueresolver를 사용하여 일부 특정 속성

  3. 를 사용할 수있는 후에 작성하십시오.

    환호

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