(整理)EF分页的实现

摘要:
最近做一个小功能,需要数据分页,因为小框架使用的是EF,因此查询了一下EF的分页。3)用EF查询数据当查询出数量,接着用EF将第一页数据获取上来4)上一页和下一页另起一个方法,直接用EF的条件来获取下一页或上一页,然后根据下面进行按钮控制。5)导出的问题分页的数据比较零碎,不能作为导出的数据来源,导出使用相同条件的ADO.NET进行重新查询,然后导出

最近做一个小功能,需要数据分页,因为小框架使用的是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仅仅查询数量)

免责声明:文章转载自《(整理)EF分页的实现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇7 款顶级的开源 Web 分析软件Python基础-多线程与多进程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

php mssql几条常见的数据库分页 SQL 语句

我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此 我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句。根据自己使用过的内容,把常见数据库Sql Server,Oracle和MySQL的分页语句,从数据库表中的第M条数据开始取N条记录的语句总结如...

jQuery LigerUI 插件介绍及使用之ligerGrid

一,简介 ligerGrid的功能列表: 1,支持本地数据和服务器数据(配置data或者url) 2,支持排序和分页(包括Javascript排序和分页) 3,支持列的“显示/隐藏” 4,支持明细行(表格内嵌) 5,支持汇总行 6,支持单元格模板 7,支持编辑表格(ligerGrid的一个特色,需要其他表单插件的支持) 8,支持树表格(待加入) 8,支持分...

springboot多数据源时取不同库中相同表结构的数据并分页显示

配置好多数据源后,之前取数是调用多个mapper,每个mapper中配置注解切换数据源。发现这样能够查询出来,但是表格分页展示时由于每次翻页重新请求数据库,导致翻页数据错误。 最后发现可以在主库中利用视图获取多个库的数据,之后调用主库中的mapper取得主库中视图数据,分页也正确。 数据库语句: create view view_data_all as s...

后端和前端分别实现分页

分页后端实现 lis = range(1, 51)from django.core.paginator import Paginatorpage_obj = Paginator(lis, 10) # Paginator类实例化,传一个list,再传每页显示的条数print(list(page_obj.page(1))) # 取某页的数据print(pa...

什么时候用Model,什么时候用Entity?[转载知乎-备忘]

在建立一个实体类的时候,究竟是用Model还是用Entity?比如MVC中,Model存了数据实体,但是他被称为Model,而在EF中,Entity也是存放数据实体,却被称作Entity,这两者有何区别?那究竟什么时候应该用Model什么时候应该用Entity呢?  赵劼: 一般这种称谓都是根据上下文来的,例如Model是因为有MVC,或MVVM的场景下...

PageHelper分页插件

PageHelper 前言 记录一下自己对PageHelper的学习,了解。 认识PageHelper PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,虽然是个分页插件,但是PageHelper比我想象的要复杂许多,它做的很强大,也很彻底,强大到使用者可能并不需要这么多功能,彻底到一参可以两用。 安装 PageHelper的m...