66 votes

Une meilleure façon d’interroger une page de données et d’obtenir le nombre total dans entity framework 4.1 ?

Actuellement, lorsque j’ai besoin d’exécuter une requête qui sera utilisée avec la pagination, je le fais quelque chose comme ceci:

Cela fonctionne, mais je me demandais s’il était possible d’améliorer cela pour être plus efficace tout en utilisant linq? Je ne pouvais pas penser à un moyen de combiner le nombre avec la récupération de données en un seul voyage vers la base de données sans utiliser un proc stocké.

15voto

Ruud Lenders Points 674

La réponse de Jeff Ogata peut être optimisée un peu.

Cela fait à peu près la même chose, sauf que cela ne dérangera pas la base de données avec un GROUP BY inutile. Lorsque vous n’êtes pas certain que votre requête contiendra au moins un résultat et que vous ne voulez pas qu’elle lève une exception, vous pouvez obtenir `` la méthode suivante (bien que moins propre) :

4voto

Bryan Points 366

Je suggère de faire deux requêtes pour la première page, une pour le nombre total et une pour la première page ou les résultats.

Mettre en cache le nombre total à utiliser lorsque vous dépassez la première page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X