Dapper轻量级ORM框架搭建

-

  前言

  最近悟出个道理,借用孔子的名言就是:“学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也”。——孔丘(春秋时代思想家,教育家)引自《礼记。学记》

  意思就是说:“所以通过学习才能知道自己的不足,通过教人才能感到困惑。知道自己学业的不足,才能反过来严格要求自己;感到困惑然后才能不倦的钻研。所以说,教与学是互相促进的。”

  做为程序员要保持一个学习的心态这是必要的。用过的技术,学过的技术要时常复习和整理,才能学的更好,特别是要教人。才能让自己掌握的深刻。

  当然教人的方式很多,你可以通过写博客分享你的知识和经验。

  额,好像跑题了。回到主题。

  Dapper因为它性能好,而且写sql非常灵活,所以我一般在用于开发网站,或者对于性能有要求的项目会用这个。但平常开发管理系统,和一般项目都用EF,因为EF除了性能差一点,开发效率高。

  利用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等测试框架。

需要的可以参考demo:https://pan.baidu.com/s/17-8pPE0WycAQjlo5CKpi-g 提取码: t4ar 

   

相关文章!