【发布时间】:2017-10-12 00:22:06
【问题描述】:
我需要使用单个查询进行分页,实际上我的代码是。
public object Paginate(int Page) // Page = 1
{
object result = new object();
const int paginateResults = 10; //showed rows
int TotalItems = (from x in Members select new { x.ID }).Count(); // = 100
//this last line is for show: total items 100
int itemsStart = (Page-1) * paginateResults; // = 1
int itemsEnd = Page * paginateResults;// = 10
//this last 2 lines is for show: showing results from 1 - 10
int PaginatePages = TotalItems / paginateResults; //10 pages [1][2][3]...[9] (for the buttons)
List<EOMEMBER> currentPageItems = (from x in Members select x)
.Skip(itemsStart).Take(paginateResults).ToList(); // results from 1 - 10
return result;
}
实际上我对数据库调用了五次,我怎样才能用一个或两个查询(最好是一个查询)来做到这一点,并使这个方法适用于任何对象(动态)
【问题讨论】:
-
五次?我在代码中只看到两个数据库查询。
标签: c# linq pagination frameworks entity