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仅仅查询数量)

  • 相关阅读:
    我的游戏学习日志54———类型游戏策划(1)—动作游戏(1)
    我的游戏学习日志53——游戏游戏策划—小结
    IE8下Extjs报缺少':'符号错误
    Extjs 兼容IE8常见问题及解决方法
    程序员如何提升自己
    extjs layout 最灵活的页面布局样式
    如何运用军事战略建立更好的习惯
    Ext之页面多次请求问题 (下拉框发送无关请求)
    计算机网络通信那些事
    Java基础
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/9505630.html
Copyright © 2011-2022 走看看