Pergunta

Eu estou usando o bom s#arp repositórios e a paginação método de extensão além de classificar como este:

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));
            }

...

A minha primeira pergunta é:

(1) É correto que a classificação tem de ser feito antes de paginação e que tudo isso utiliza carregamento lento (por exemplo,internamente usa SUPERIOR n ou algo do SQL real)?

Uma das insuficiências do actual mvc contrib grade de implementação é que ela não permite a ordenação por colunas personalizadas (por exemplo,combinado valores da coluna) como este:

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

(usado no vista)

Eu tentei evitar de ver os modelos no meu bastante simples s#arp solução, mas talvez eu poderia fazer com um modelo de modo de exibição, neste caso, para permitir a classificação por colunas personalizadas.

Eu tenho usado o automapper para mapear modelos de domínio para ver os modelos e vice-versa, no passado.No entanto, eu tenho um problema com essa solução.Isso ainda funciona usando carregamento lento?

Em outras palavras, não automapper não é necessário mapear TODOS os objetos de domínio para o modo de exibição de objetos antes de poder fazer a ordenação e paginação resultando na diminuição do desempenho?

Espero que isso faz sentido e você entender o que eu estou chegando.Obrigado.

Com os melhores cumprimentos,

Cristão

Foi útil?

Solução

  1. Sim classificação e consulta ( onde algo = bla bla) tem que ser feito antes de paginação, na verdade, você terá que se preocupar com isso apenas se você escrever sql, caso contrário, se você usar o hibernate ou linq2sql ou algo semelhante, que você não

  2. todos os automapper está fazendo é tomando os valores de um objeto e colocá-lo em outro objeto (há alguns conversão de dados envolvidos, configuração e todas essas coisas), a menos que você escrever algumas coisas em um personalizado valueresolver onde basicamente você pode escrever qualquer coisa e depois você pode usar esse valueresolver por alguma propriedade específica

Cheers

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top