.NET6 MiniAPI系列:如何封装Dapper以提升开发效率?

2026-04-30 21:019阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

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

.NET6 MiniAPI系列:如何封装Dapper以提升开发效率?

在之前的文章中提到,Dapper通过扩展IDbConnection来实现,但其隔离性问题较为突出。例如,在进行单元测试时,使用mock会遇到一些难题。因此,在实践中,我对Dapper进行了扩展。下面分享一些经验。

  在上一篇说过,Dapper是通过扩展IDbConnection来达到实现的,那带来的一个问题就是隔离性不好,比如在做单元测试时,mock就有点困难,所以在实践中,我对Dapper作了扩展,下面分享出来,以供大家参考,同时说明一下,这仅是自己根据自己的需要实现的一种方式而以,不一定是全面和完善的。

  本扩展的思路是定义接口IDapperPlusDB和实现类DapperPlusDB,在实现类中调用Dapper的方法,使用多少实现多少,这样一来,我们就能在Service层去Mock这个实现类了(因为他有接口IDapperPlusDB)。同时我添加了DataBaseType和DataBaseMark两个属性,来扩展当应用中连接多种数据或,或连接读写分离的数据库时使用。

阅读全文

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

.NET6 MiniAPI系列:如何封装Dapper以提升开发效率?

在之前的文章中提到,Dapper通过扩展IDbConnection来实现,但其隔离性问题较为突出。例如,在进行单元测试时,使用mock会遇到一些难题。因此,在实践中,我对Dapper进行了扩展。下面分享一些经验。

  在上一篇说过,Dapper是通过扩展IDbConnection来达到实现的,那带来的一个问题就是隔离性不好,比如在做单元测试时,mock就有点困难,所以在实践中,我对Dapper作了扩展,下面分享出来,以供大家参考,同时说明一下,这仅是自己根据自己的需要实现的一种方式而以,不一定是全面和完善的。

  本扩展的思路是定义接口IDapperPlusDB和实现类DapperPlusDB,在实现类中调用Dapper的方法,使用多少实现多少,这样一来,我们就能在Service层去Mock这个实现类了(因为他有接口IDapperPlusDB)。同时我添加了DataBaseType和DataBaseMark两个属性,来扩展当应用中连接多种数据或,或连接读写分离的数据库时使用。

阅读全文