要从数据库中获取页面,我必须执行如下操作:
var cs = ( from x in base.EntityDataContext.Corporates
select x ).Skip( 10 ).Take( 10 );
这将跳过前 10 行并选择接下来的 10 行。
我怎么知道由于没有分页的查询会导致多少行?我不想运行另一个查询来获取计数。
最佳答案
要在跳过/获取之前获取记录总数,您必须运行单独的查询。获取返回的实际数字将使用 Count(),但如果原始查询已具体化,则不会导致另一个查询。
var q = from x in base.EntityDataContext.Corporates
select x;
var total = q.Count();
var cs = q.Skip(10).Take(10);
var numberOnSelectedPage = cs.Count();
关于linq-to-sql - 分页时获取总记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2008647/