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

  • 相关阅读:
    UVa 297 Quadtrees(树的递归)
    c++代码模板
    博客园 自定义CSS皮肤模板
    ubuntu 16.04 小键盘数字键盘开机自动启动
    set_union的几个例子
    CSU 1803 2016(数论)
    CSU 1809 Parenthesis(线段树+前缀和)
    UVA 253 Cube painting(暴力打表)
    洛谷 P1060 开心的金明
    Codeforces Round #369 (Div. 2) C. Coloring Trees(dp)
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/9505630.html
Copyright © 2011-2022 走看看