Я хочу сделать что-то как этот
public IQueryable GetPaged<TSource>(IQueryable<TSource> query, int startIndex, int pageSize)
{
return GetSession()
.Linq<TSource>()
.UseQuery(query)
.Take(pageSize)
.Skip(startIndex);
}
Таким образом, можно поместить любой оператор IQuerable и "это становится разбитым на страницы", или это будет разбито на страницы.
Я использую LINQ для NHibernate. Я надеюсь, что Вы получаете его, sry для этого плохого английского языка: o
править: Возможно, мой подход является неправильным, не так ли?
Это копируется из рабочего кода:
public static class QueryableExtensions
{
public static IQueryable<T> Paged<T>(this IQueryable<T> source, int page,
int pageSize)
{
return source
.Skip((page - 1) * pageSize)
.Take(pageSize);
}
}