Question

Je ne peux pas sembler trouver une réponse à cette question ou un bon exemple de la façon d'accomplir ce que je suis en train de faire. Je suis sûr qu'il a été affiché ou expliqué quelque part, mais je ne parviens pas à trouver la solution exacte besoin I.

J'utilise ActiveRecord dans Subsonic 3.0.0.4. Quand je fais quelque chose comme

recordset = VehicleModel.Find(x => x.Model.StartsWith(SearchText));

Je reviens un IList d'objets VehicleModel (ou plus simplement un recordset), cela est bien jusqu'à ce que je retourne trop de dossiers. Je ne peux pas commander aussi l'ensemble renvoyé d'enregistrements (ma grille le fera très bien, mais je suis sûr que ce sera trop lent si j'ai trop de dossiers). Etant donné que Find est un retour IList il n'y a pas grand-chose que je peux courir directement contre cette (encore une fois je peux être sur quelque chose si simple s'il vous plaît ne me tuez pas).

Ma question est ce que quelqu'un peut expliquer comment trouver des données comme je suis au-dessus, les trier et obtenir une page de données où une page est de taille n?

Vais-je sur ce problème? Suis-je même près d'être sur la bonne voie?

Était-ce utile?

La solution

int currentPage = x
int pageSize = n
recordset = VehicleModel.Find(x => x.Model.StartsWith(SearchText)).Skip(currentPage x PageSize).Take(PageSize);

ceci suppose commence currentPage à 0.
si le démarrage de votre currentPage à 1, puis son Skip((currentPage - 1) x PageSize)

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