Pregunta

Me parece que no puede encontrar una respuesta a esta pregunta o un buen ejemplo de cómo llevar a cabo lo que estoy tratando de hacer. Estoy seguro de que ha sido publicado o se explica en alguna parte, pero estoy teniendo problemas para encontrar las necesidades exactas solución que yo.

Estoy utilizando ActiveRecord en subsónico 3.0.0.4. Cuando hago algo como

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

regrese un IList de objetos vehículoEl (o más simplemente un conjunto de registros), esto está muy bien hasta que regrese demasiados registros. Asimismo, no puede ordenar el conjunto devuelto de registros (mi rejilla lo hará muy bien, pero estoy seguro de que será demasiado lento si tengo demasiados registros). Siendo que Find es devolver un IList no hay mucho que pueda ejecutar directamente en contra de esto (de nuevo, quizás pasen por alto algo sencillo así que por favor no me mates).

Mi pregunta es ¿Puede alguien explicar cómo encontrar datos como que estoy por encima de, más o menos y obtener una página de datos en una página es de tamaño n?

¿Voy acerca de este mal? Estoy ni cerca de estar en el camino correcto?

¿Fue útil?

Solución

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

esto es suponiendo que comienza en 0. currentPage
si sus currentPage comienza en 1, entonces su Skip((currentPage - 1) x PageSize)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top