Question

J'utilise les beaux référentiels d'arp de # et la méthode d'extension de pagination plus le tri comme celui-ci:

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

...

Ma première question est la suivante:

(1) est-il correct que le tri doit être fait avant la pagination et que tout cela utilise une chargement paresseux (c'est-à-dire utilise en interne le top n ou quelque chose dans le SQL actuel)?

L'une des courtes comings de la mise en œuvre actuelle de la grille MVC contributions est qu'elle ne permet pas de tri pour des colonnes personnalisées (par exemple, des valeurs de colonne combinées) telles que ceci:

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

(utilisé dans la vue)

J'ai essayé d'éviter de voir les modèles dans ma solution de sys # arp assez simple, mais je pourrais peut-être faire avec un modèle d'affichage dans ce cas pour permettre le tri par colonnes personnalisées.

J'ai utilisé Comtableapper pour mapper des modèles de domaine pour afficher des modèles et inversement dans le passé. Cependant, j'ai un problème avec cette solution. Cela fonctionne-t-il toujours à l'aide de chargement paresseux?

En d'autres termes, MODApper ne doit-il pas avoir à mapper tous les objets de domaine aux objets d'affichage avant de pouvoir le tri et la pagination entraînant une diminution des performances?

J'espère que cela a du sens et que vous comprenez ce que j'arrive. Merci.

meilleurs voeux,

chrétien

Était-ce utile?

La solution

  1. Oui, triage et interrogation (où quelque chose= bla bla) doit être effectué avant la pagination, vous devez en réalité prendre soin de cela que si vous écrivez SQL, sinon si vous utilisez Hibernate ou Linq2SQL ou quelque chose de similaire que vous't

  2. Tout le monde fait est de prendre les valeurs d'un objet et de la mettre dans un autre objet (il existe une certaine conversion de données impliquée, la configuration et tout ce type), à moins que vous n'écriviez des trucs dans un ârét de valeur personnalisé où vous pouvezEcrivez fondamentalement quoi que ce soit et après que vous puissiez utiliser ce valoresolver pour une propriété spécifique

  3. acclamations

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top