.NET6 MiniAPI系列:如何封装Dapper以提升开发效率?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2938个文字,预计阅读时间需要12分钟。
在之前的文章中提到,Dapper通过扩展IDbConnection来实现,但其隔离性问题较为突出。例如,在进行单元测试时,使用mock会遇到一些难题。因此,在实践中,我对Dapper进行了扩展。下面分享一些经验。
在上一篇说过,Dapper是通过扩展IDbConnection来达到实现的,那带来的一个问题就是隔离性不好,比如在做单元测试时,mock就有点困难,所以在实践中,我对Dapper作了扩展,下面分享出来,以供大家参考,同时说明一下,这仅是自己根据自己的需要实现的一种方式而以,不一定是全面和完善的。
本扩展的思路是定义接口IDapperPlusDB和实现类DapperPlusDB,在实现类中调用Dapper的方法,使用多少实现多少,这样一来,我们就能在Service层去Mock这个实现类了(因为他有接口IDapperPlusDB)。同时我添加了DataBaseType和DataBaseMark两个属性,来扩展当应用中连接多种数据或,或连接读写分离的数据库时使用。
本文共计2938个文字,预计阅读时间需要12分钟。
在之前的文章中提到,Dapper通过扩展IDbConnection来实现,但其隔离性问题较为突出。例如,在进行单元测试时,使用mock会遇到一些难题。因此,在实践中,我对Dapper进行了扩展。下面分享一些经验。
在上一篇说过,Dapper是通过扩展IDbConnection来达到实现的,那带来的一个问题就是隔离性不好,比如在做单元测试时,mock就有点困难,所以在实践中,我对Dapper作了扩展,下面分享出来,以供大家参考,同时说明一下,这仅是自己根据自己的需要实现的一种方式而以,不一定是全面和完善的。
本扩展的思路是定义接口IDapperPlusDB和实现类DapperPlusDB,在实现类中调用Dapper的方法,使用多少实现多少,这样一来,我们就能在Service层去Mock这个实现类了(因为他有接口IDapperPlusDB)。同时我添加了DataBaseType和DataBaseMark两个属性,来扩展当应用中连接多种数据或,或连接读写分离的数据库时使用。

