利用Dapper ORM搭建三层架构
2015-01-17 19:22 Fururur 阅读(24920) 评论(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一下哦~
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Fururur(包含链接),如您有任何疑问或者授权方面的协商,请给我留言。