我正在使用 LINQ to SQL 搜索相当大的数据库,并使用 listview 和 datapager 进行分页。我知道 Skip() 和 Take() 方法并且它们可以正常工作。但是,我无法使用数据分页器的结果计数,因为它们始终是 Take() 方法中确定的页面大小。
例如:
var result = (from c in db.Customers
where c.FirstName == "JimBob"
select c).Skip(0).Take(10);
即使有 1000 个 JimBobs,此查询也将始终返回 10 个或更少的结果。因此,DataPager 始终会认为只有一个页面,而用户无法在整个结果集中导航。
如何欺骗数据分页器显示页数为 1000,但一次绑定 10 个项目?我不想使用对象数据源。
谢谢。
运行第二个查询:
var count = Customers.Where(c => c.FirstName == "JimBob").Count();
尝试使用这个..
var result = (from c in db.Customers
where c.FirstName == "JimBob"
select c).Skip((PAGENUMBER-1 * 10)).Take(10);
查看此处有关简单 LINQ 分页
的博文希望有帮助..:)