使用LINQ to NHibernate将LINQ IQueryable转换为分页IQueryable

Roo*_*ian 5 linq nhibernate paging expression

我想做那样的事情

    public IQueryable GetPaged<TSource>(IQueryable<TSource> query, int startIndex, int pageSize)
    {
        return GetSession()
          .Linq<TSource>()
          .UseQuery(query)
          .Take(pageSize)
          .Skip(startIndex);
    }
Run Code Online (Sandbox Code Playgroud)

所以你可以把任何 IQuerable语句和"它变成分页"或者它将被分页.

我正在使用LINQ到NHibernate.我希望你能得到它,为这个糟糕的英语而烦恼:o

编辑:也许我的方法是错误的,是吗?

Pac*_*aco 14

这是从工作代码中复制的:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)