代码改变世界

利用Dapper ORM搭建三层架构

2015-01-17 19:22  Fururur  阅读(24916)  评论(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一下哦~