如何使用Dapper实现分页并支持筛选、排序及获取结果集总数?

更新于
2026-07-26 20:02:29
7阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1057个文字,预计阅读时间需要5分钟。

如何使用Dapper实现分页并支持筛选、排序及获取结果集总数?

简介:之前在博客园上搜索了Dapper分页的实现,发现有的基于存储过程,需要支持分页,但不支持排序,或搜索条件不易维护。

代码:首先,上代码:https://

简介

之前事先搜索了下博客园上关于Dapper分页的实现,有是有,但要么是基于存储过程,要么支持分页,而不支持排序,或者搜索条件不是那么容易维护。

代码

首先先上代码: github.com/jinweijie/Dapper.PagingSample

方法定义

以下是我的一个分页的实现,虽然不是泛型(因为考虑到where条件以及sql语句的搭配),但是应该可以算是比较通用的了,方法定义如下:

public Tuple<IEnumerable<Log>, int> Find(LogSearchCriteria criteria , int pageIndex , int pageSize , string[] asc , string[] desc);

以上函数定义是一个查询Log的示例,返回结果中,Tuple的第一个值是结果集,第二个值是总行数(例如,总共有100条记录,每页10条,当前第一页,那么第一个值是10条记录,第二个值是100)

在示例项目中,我用两种方法实现了分页:

1. 第一种是基于2此查询,第一次得到总数,第二次查询得到结果集。

阅读全文

本文共计1057个文字,预计阅读时间需要5分钟。

如何使用Dapper实现分页并支持筛选、排序及获取结果集总数?

简介:之前在博客园上搜索了Dapper分页的实现,发现有的基于存储过程,需要支持分页,但不支持排序,或搜索条件不易维护。

代码:首先,上代码:https://

简介

之前事先搜索了下博客园上关于Dapper分页的实现,有是有,但要么是基于存储过程,要么支持分页,而不支持排序,或者搜索条件不是那么容易维护。

代码

首先先上代码: github.com/jinweijie/Dapper.PagingSample

方法定义

以下是我的一个分页的实现,虽然不是泛型(因为考虑到where条件以及sql语句的搭配),但是应该可以算是比较通用的了,方法定义如下:

public Tuple<IEnumerable<Log>, int> Find(LogSearchCriteria criteria , int pageIndex , int pageSize , string[] asc , string[] desc);

以上函数定义是一个查询Log的示例,返回结果中,Tuple的第一个值是结果集,第二个值是总行数(例如,总共有100条记录,每页10条,当前第一页,那么第一个值是10条记录,第二个值是100)

在示例项目中,我用两种方法实现了分页:

1. 第一种是基于2此查询,第一次得到总数,第二次查询得到结果集。

阅读全文