我想做那样的事情
public IQueryable GetPaged<TSource>(IQueryable<TSource> query, int startIndex, int pageSize)
{
return GetSession()
.Linq<TSource>()
.UseQuery(query)
.Take(pageSize)
.Skip(startIndex);
}
所以你可以把任何 IQuerable语句和“它变为分页”或者它将被分页。
我正在使用LINQ to NHibernate。 我希望你能得到它,为这个糟糕的英语而烦恼:o
编辑:也许我的方法是错误的,是吗?
答案 0 :(得分: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);
}
}
答案 1 :(得分:0)
return query.skip(startIndex).take(pageSize);