2011-05-31 1 views
0

J'essaye de déterminer la meilleure approche pour effectuer la pagination.Pagination avec TSQL, MVC3 et SubSonic?

J'ai deux options de saisir des données en utilisant SubSonic:

1) itemDatumCollection.LoadAndCloseReader (sp.GetReader()); ou 2) itemsDataSet = sp.GetDataSet();

Avec deux j'accéder à la même procédure stockée. Existe-t-il un moyen simple de paginer avec LoadAndCloasReader()?

Je pourrais charger toutes les données via GetDataSet sur le client - disons 4000 lignes, mais semble inutile, et cette quantité de données dépasse mes paramètres de liaison WCF (qui je pense sont très bien) quand j'utilise LoadAndCloseReader() elle retourne un objet complexe:

maxBufferSize="20000000" maxBufferPoolSize="524288" maxReceivedMessageSize="20000000" 

donc deux choses que je suppose:

1) est-ce GetDataSet() plus rapide à des données retour - je ne suis pas besoin de l'objet de collection complexe (il est juste agréable quand codage)?

2) Comment puis-je effectuer la pagination en utilisant mon TSQL sproc?

Merci.

+0

Si vous utilisez un SP alors je pense que vous avez à faire manuellement la pagination dans votre SP. – Eranga

Répondre

0

Je suis allé avec une approche plus utilisée dans MVVM, plutôt que MVC. J'ai chargé toutes les données à l'avance, puis j'ai permis à l'utilisateur de les parcourir à l'aide d'un contrôle de pagination jQuery, en minimisant les appels de retour à la base de données. La réponse initiale prend un peu plus de temps (mais est limitée à 100 enregistrements), mais fournit à l'utilisateur une pagination rapide.

J'ai utilisé le Simple Pager jQuery plugin.