25 09 2020
正文


1.首先定义PageSize(每页显示的条数),与PageIndex(页码)
当PageIndex为0时:

var query = (from t in List
                      orderby t.排序字段 select t).Skip(PageIndex * pageSize).Take(pageSize); 

2.当 页码PageIndex定义为1时:
var query = (from t in List
                      orderby t.排序字段 select t).Skip((PageIndex - 1) * pageSize).Take(pageSize); 



注意事项:
1.当使用Linq to ef 进行数据库分页调取数据时,要排序的字段可能为空时,应将所有的查询出再进行分页操作,不然可能会造成分页出来的数据有周期重复性。
2.很明显,数据量大的时候,linq查询效率是要低于原生sql语句的,且优化很麻烦,所以稍大型数据,分页还是存储过程比较合适




延伸阅读
  1. 个人博客 安装部署教程
  2. 部分想说的话
发表评论