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

问题描述 投票:0回答:2

我想做这样的事情

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

因此,您可以放置 any IQuerable 语句和“它会被分页”,否则它将被分页。

我正在使用 LINQ to NHibernate。 我希望你能明白,抱歉英语不好:o

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

linq pagination nhibernate expression
2个回答
16
投票

这是从工作代码复制的:

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);
    }
}

0
投票
return query.skip(startIndex).take(pageSize);
© www.soinside.com 2019 - 2024. All rights reserved.