代码改变世界

利用Dapper ORM搭建三层架构

  Fururur  阅读(24932)  评论(35编辑  收藏  举报

利用Dapper关系对象映射器写的简单的三层架构。
Dapper:StackOverFlow在使用的一个微型的ORM,框架整体效率较高,轻量级的ORM框架。网上有较多的扩展。此处只是简单的调用Dapper中的方法。
UI层:

  • Dapper.Console:一个简单的控制台程序。
  • BLL业务逻辑层:
  • Dapper.IBLL:业务逻辑层的抽象接口。
  • Dapper.BLL:业务逻辑层的具体实现。(会根据配置文件的不同调用不同的DAL层)
  • DAL数据访问层:
  • Dapper.IDAL:数据访问层的抽象接口。利于程序的扩展。
  • Dapper.SQLServerDAL:不同数据库的实现层,派生自IDAL接口。(可能还有OracleDAL、MySQLDAL等等)

实体类:

  • Dapper.Model:数据库实体类

解耦:

  • Dapper.Factory:工厂。通过工厂来创建对应的实例。DALFactory创建具体的DAL,ConnectionFactory创建供Dapper使用的IDBConnection实例。

单元测试:

  • Dapper.Test:进行数据库的单元测试。单元测试项目中无法直接读取Dapper.Console下的App.config。复制过来即可。

需要Mock测试的,可以参考使用MS Fakes、Moq等测试框架。

代码上不做具体展开了,需要的可以参考。

https://github.com/maoqyhz/3-Tier-Architecture-using-dapper

2018.1.8 很多人园友反应,目前代码中Connection的写法会导致数据库爆掉,需要注意!由于很久不写.net了,也无法做新的维护,所以本代码仅供参考吧,无法用于生产环境,特此说明!

由于自己的毕设也是用它来写的,所以放出来,可以作为一个实例来参考一下。

sql server2012 + dapper + asp.net mvc4 + easyUI的药库管理系统,有兴趣的可以star一下哦~

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示