利用Dapper ORM搭建三层架构

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

代码上不做具体展开了,可直接下载

时间: 2024-08-23 08:17:21

利用Dapper ORM搭建三层架构的相关文章

利用General框架进行三层架构开发

三层架构是企业信息管理系统中一种比较流行的架构方式,如大家所知,三层架构将信息系统分为数据访问层(DAL).业务逻辑层(BLL).界面表示层(UI)三部分,三层架构的好处是根据系统中代码所处的层次将系统拆开,而通过业务模型(Model)再进行连接,降低系统各层次之间的耦合度,提升程序开发和后期维护的容易度. 由于三层架构是根据由上至下的层次进行分层,而不是根据功能.应用领域进行分层,所以三层架构在每一层的关注点并不相同,数据访问层关注的是跟数据库打交道的部分,业务逻辑层关注的是业务逻辑处理部分,

.Net Core建站(3):搭建三层架构

啊,终于到写三层架构的时候了,老实说,我都不知道自己这个算不算三层架构,姑且就当它是吧,具体属于哪一个体系,希望有大佬指点一下(^o^)/ 不晓得有人注意到没有,我写了三篇博客,然后就改了三次标题ヽ( ̄▽ ̄)?, 从最开始的Core建数据库,到Core数据库操作,再到现在的Core建站,也算是下决心写个系列啊,,感觉要更好久的样子,, 好吧,不要在意那些细节,文中可能会有一些我不知道的坑,毕竟自己也是一边自学一边写,不过保证功能还是能用的,发现有坑记得说,,我改,,("'▽'") //

VS 搭建三层架构(图文结合)

本节通过一个简单的登录功能实现,讲述如何搭建三层结构. 1.搭建数据访问层 (1)打开VS 2005开发环境,依次选择"文件"→"新建"→"项目"命令,如图18-3所示. (2)在打开的"新建项目"对话框中,选择项目类型为"Visual Studio解决方案",选择模板为"空白解决方案".然后填写解决方案的名称为"MyBookShop",并指定保存位置,如图18-4所

搭建三层架构(ASP.NET MVC+EF)

昨天面试的时候最后做了一道上机题,竟然跪了,跪就跪在没有搭好框架,连接数据库总是程序报错. 回来之后亲自搭了一下框架,弄好后放到博客上.下图就是搭建好后,整个框架的结构就是这样,下面对框架中的文件进行讲解. 搭建步骤: 1.数据库建好后,由数据库生成实体模型. 2.添加BLL.DAL层两个类库. 3.在DAL层先建工厂EFContextFactory.cs,下面是创建上下文对象的方法. namespace DAL { class EFContextFactory { #region 从线程的数据

.NET完全手动搭建三层B/S架构

简介:三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(WebUI).业务逻辑层(BusinessLogicLayer).数据访问层(DataAccessLayer),公共层(ModelLayer).区分层次的目的即为了“高内聚,低耦合”的思想. 一.应用三层架构的优点 三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增:各做各的模块,降低开发人员能力要求:方便系统功能的扩展以及后期的维护工作:最大优点是它的安全性.用户端只能通过

从头开始做一个OA项目(三) 关于三层架构思想

下面就开始一步一步的搭建我们的项目三层架构,自从微软的PetShop推出以来,似乎它就成了三层的代名词.在国内.Net界几乎所有的项目都是根据PetShop来搭建三层架构,甚至我还见过一些项目直接就把它的架构拷贝过来,一丝未改.直接使用.在搭建之前,为了便于还未接触过三层的同学了解.我们先把三层架构的基本概念解释一下.我们先来思考一个场景.我们大家都去过饭店吃饭,那么大家回忆一下我们吃饭的流程是个什么样子呢?如下图所示. 当我们推开饭店的大门,马上就会迎来一个笑容可掬的服务员,她会忙着招待我们,

15三层架构

为什么要有三层架构???   服务员只需要负责接待客人 厨师只需要负责烹饪食物 采购员只需要负责采购食材   发生在哪一层的变化,只需要更改该层,不需要更改整个系统. 层次清晰分工明确,每层之间耦合度低——提高了效率,适应需求变化,可维护性高,可扩展性高. 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为: 表示层(Presentation layer).业务逻辑层(Business Logic Layer).数据访问层(Data access l

Net系列框架-Dapper+简单三层架构

Net系列框架-Dapper+简单三层架构 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题,欢迎联系我,供大家一起互相学习和探讨,如果你有什么好的意见或建议,欢迎下面留言. 本套框架主要采用asp.net mvc+dapper+简单三层搭建的后端框架 主要技术点: 1.asp.net webapi 基于net技术的webapi 2.dapper 轻量高性能orm框架 3.三层架构,简单实用的DAL,

三层架构的一点理解以及Dapper一对多查询

1.首先说一下自己对三层架构的一点理解 论坛里经常说会出现喜欢面相对象的写法,所以使用EF的,我个人觉得他俩没啥关系,先别反对,先听听我怎么说吧. 三层架构,基本都快说烂了,但今天还是说三层架构:UI,BLL,DAL.之前往往强调的是三层架构各司其职,但没有说三层架构中每层之间怎么交互的,以及人员之间的分工合作问题.今天重点说这个,从而回答面向对象和EF的关系. 今天说的与数据库有关,那就先说BLL和DAL之间数据的传递.有不少都是按照以下两种方式写的: (1)以Datatable传递.可想想,