Domanda

Non riesco a trovare una risposta a questa domanda o un buon esempio di come realizzare quello che sto cercando di fare. Sono sicuro che è stato inviato o spiegato da qualche parte, ma io sto avendo problemi a trovare l'esatta necessità soluzione che ho.

Sto usando ActiveRecord in Subsonic 3.0.0.4. Quando faccio qualcosa di simile

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

torno un IList di oggetti vehicle (o più semplicemente un set di record), questo va bene fino al mio ritorno troppi record. Anche non posso ordinare il set tornato di record (la mia griglia lo farà bene, ma io sono sicuro che sarà troppo lento se ho troppi record). Essendo che Find è restituire un IList non c'è molto che si può usare direttamente contro questo (ancora una volta posso essere vista qualcosa di semplice quindi per favore non uccidermi).

La mia domanda è qualcuno può spiegare come trovare i dati, come io sono al di sopra, ordinare e ottenere una pagina di dati in cui una pagina è di dimensione n?

I Am andare su questo male? Sono anche vicino ad essere sulla strada giusta?

È stato utile?

Soluzione

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

questo è supponendo inizia CurrentPage a 0.
se i vostri CurrentPage parte da 1, poi il suo Skip((currentPage - 1) x PageSize)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top