Transform LINQ IQueryable into a paged IQueryable using LINQ to NHibernate

▼魔方 西西 提交于 2019-12-21 17:36:26

问题


I wanna do something like that

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

So you can put any IQuerable statement and "it becomes paged" or it will be paged.

I am using LINQ to NHibernate. I hope you get it, sry for this bad english :o

edit: Maybe my approach is the wrong one, is it?


回答1:


This is copied from working code:

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



回答2:


return query.skip(startIndex).take(pageSize);


来源:https://stackoverflow.com/questions/2035028/transform-linq-iqueryable-into-a-paged-iqueryable-using-linq-to-nhibernate

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!