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语句的,且优化很麻烦,所以稍大型数据,分页还是存储过程比较合适
非特殊说明,本文版权归 Guo_Blogs 所有,转载请注明出处.
本文标题: Linq分页(skip和Take)
本文网址: https://guoqingyun.top/Article/Detail?DPOR369E0zc=101B66526AECAC64