zoukankan      html  css  js  c++  java
  • (整理)EF分页的实现

              最近做一个小功能,需要数据分页,因为小框架使用的是EF,因此查询了一下EF的分页。

              EF分页主要用到了skip和take两个方法:

                       GetListBy(lamda xxxxx).skip(PageSize *PageIndex).take(PageSize)

                       PageSize是每页的大小、PageIndex是当前的页数

           1)添加内容,调整界面

    •   界面上增加按钮:增加上一页、下一页等按钮,供用户使用
    •   增加变量保存:增加当前页、数据总量等数据

           2)增加ADO.NET查询

                   本想直接使用EF的count来获取数量,结果是慢的惨不忍睹,然后用ADO.NET直接查数量,这样不会造成延迟。

           3)用EF查询数据

                  当查询出数量,接着用EF将第一页数据获取上来(注意,步骤2和3查询条件需要一致,否则出错)

           4)上一页和下一页

                  另起一个方法,直接用EF的条件来获取下一页或上一页,然后根据下面进行按钮控制。

         代码就不贴了,参考资料附一下:

           https://www.cnblogs.com/M-LittleBird/p/5852395.html

           https://blog.csdn.net/augus3344/article/details/45378877

      

    •              根据页数据量和总量的对比,判断当前页是否最后一页
    •               根据页码来判断当前页有无上一页

           经简单测试,几十万条数据完成没问题。

           5)导出的问题

                     分页的数据比较零碎,不能作为导出的数据来源,导出使用相同条件的ADO.NET进行重新查询,然后导出(注意,此处是查数据,步骤2仅仅查询数量)

  • 相关阅读:
    网页居中的问题
    棋盘覆盖
    可变宽度的圆角框
    多线程编辑问题
    实验五 Web项目开发
    实验三 一个标准的Windows应用程序
    【语言处理与Python】1.2将文本当作词链表
    【语言处理与Python】1.5自动理解自然语言
    【语言处理与Python】1.1文本和单词
    【语言处理与Python】1.3计算语言:简单的统计
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/9505630.html
Copyright © 2011-2022 走看看