将LINQ IQueryable转换为使用LINQ to NHibernate的分页IQueryable [英] Transform LINQ IQueryable into a paged IQueryable using LINQ to NHibernate

查看:131
本文介绍了将LINQ IQueryable转换为使用LINQ to NHibernate的分页IQueryable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想做这样的事情

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

所以你可以把任何 IQuerable语句和它将被分页或将被分页。



我正在使用LINQ来进行NHibernate。
我希望你得到它,为这个不好的英语哼哼:o o o o o o>>>>>>>>>>>>>>>>>>>>>>>>>>> b $ b

解决方案

这是从工作代码复制的:

  public static class QueryableExtensions 
{
public static IQueryable< T>分页< T>(此IQueryable< T>源,int页,
int pageSize)
{
返回源
.Skip((第1页)* pageSize)
.Take(pageSize);
}
}


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?

解决方案

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

这篇关于将LINQ IQueryable转换为使用LINQ to NHibernate的分页IQueryable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆