从0开始,一起搭框架做项目公共基础数据操作类 RepositoryBase

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从0开始,一起搭框架做项目公共基础数据操作类 RepositoryBase相关的知识,希望对你有一定的参考价值。

索引

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

简述

今天我们写一个基础数据的操作类,如果里面有大家不理解的地方,可采取两种方式,第一:提出来,第二:会用就行。这个类呢我一般不去修改它,因为基础操作类,大家也可以直接拷贝到自己的项目中。

项目准备

我们用的工具是:VS 2013 + SqlServer 2012 + IIS7.5

希望大家对ASP.NET MVC有一个初步的理解,理论性的东西我们不做过多解释,有些地方不理解也没关系,会用就行了,用的多了,用的久了,自然就理解了。

项目开始

一、创建接口 IRepository

我们在应用服务的Service类库下面新建一个接口 IRepository

右击Service类库→添加→新建项→接口  名称 IRepository

技术分享

 

二、基础操作的接口方法

不了解接口的朋友需要注意下,接口是个规范,是不需要方法体的,说的通俗点,有了接口如果被继承肯定会有实现,这里你只需要写方法就行了,具体的方法是如何实现的我们不管,爱怎么实现怎么实现,我只是告诉你,你要是继承我这个接口,那么我这些方法你必须实现,而且要符合我规范。这就跟领导一条批示:你给我做个上传图片的方法,返回上传成功或失败。领导就是接口,你是实现类,你在这个领导下面干活,就相当于你继承了领导,那么你必须要完成这个图片上传方法并且返回上传结果,至于你是用网上的上传方法呀还是自己写个webservice啊还是用jquery插件啊随你,领导不关心你用什么,他只关心你按照他的要求去实现这个方法。这样不知道大家理解接口了不?

技术分享

 

我们这个接口是公共基础数据操作类,所以要有数据模型啊,模型说白了就是类,因为是通用的,所以我们这里写 T 并且标识 T 是个 Class

我们的Service类库呢,如果按照三层架构来讲,应该是数据管理层,既然是数据管理层,那么我们就是操作数据模型的,我们添加Domain 数据模型的引用,并且我们可能用到一些公共的方法,所以我们也添加对Common公共帮助类库的引用

技术分享

 

上面我们讲了,这是数据管理层,我们是要对数据进行操作的,公用类库呢,我们提供多种数据管理的方式,我们再添加两个库引用 EntityFramework和EntityFramework.SqlServer

技术分享

 

我们先来声明几个数据对象操作

技术分享

 

下面,我们写几个接口方法

主要有 单模型操作  多模型操作 存储过程操作 查询多条数据 分页查询 ADO.NET增删改查

技术分享

 

有朋友看到这会骂街了,我擦,能不能直接贴代码,截图干嘛~~ 不要急,不要急,一定要有耐心~~

我是先贴图,给大家有个大致的了解,代码肯定会贴出来的~~

 

单模型操作

 

技术分享 View Code

 

 

多模型操作

 

技术分享 View Code

 

 

存储过程操作

 

技术分享 View Code

 

 

查询多条数据

 

技术分享 View Code

 

 

分页查询

 

技术分享 View Code

 

 

ADO.NET增删改查

 

技术分享 View Code

 

 

我们引用的类库和解决方案

 

技术分享 View Code

 

 

这里是完整的IRepository.cs

 

技术分享 View Code

 

 

注意:在分页查询中,我们引用了Common公共类库的一个公共类 PageCollection.cs

技术分享

 

这个类库在C#公共帮助类里面  连接:【C#公共帮助类】 分页逻辑处理类

 

三、基础操作的实现类

我们在Service类库下新建一个公共基础数据操作类 RepositoryBase.cs 继承接口 IRepository

技术分享

 

因为这个实现类呢,东西比较多,如果没有什么问题,大家可以直接拿来用,鉴于时间的关系(还在上班,大家理解~~),我就直接把代码贴出来了,这篇文章写完不是结束,我会抽空再回来简单介绍一下这个实现类的一些方法和原理,同时,如果网友提出了问题或是整改,我也会回来整理修改。

技术分享

 

固定公用帮助,含事务

 

技术分享 View Code

 

 

获取单条记录

 

技术分享 View Code

 

 

增删改操作

 

技术分享 View Code

 

 

多模型操作

 

技术分享 View Code

 

 

存储过程操作

 

技术分享 View Code

 

 

存在验证操作

 

技术分享 View Code

 

 

获取多条数据操作

 

技术分享 View Code

 

 

分页操作

 

技术分享 View Code

 

 

ADO.NET增删改查方法

 

技术分享 View Code

 

 

我们引用的类库和解决方案

 

技术分享 View Code

 

 

完整的 RepositoryBase.cs

 

技术分享 View Code

 

 

需要用的Common公共帮助类

技术分享

这写类库,大家去【C#公共帮助类】找一下。有些公共帮助类,我还没来得及发布,请大家耐心等待一下哈~~~理解、理解~~

PS1:大家的实现类 是不是找不到SqlFunctionForDynamic 这个方法,这是我的失误,因为刚才有点工作的事,忘记了,现在补充上

我们在Service类库下面新建一个 查询动态类 DatabaseExtensions

技术分享

 

 

代码如下:添加上这个类之后 那个方法就有了

 

技术分享 View Code

 

以上是关于从0开始,一起搭框架做项目公共基础数据操作类 RepositoryBase的主要内容,如果未能解决你的问题,请参考以下文章

从0开始,一起搭框架做项目搭建MVC环境 注册区域

无私分享:从入门到精通ASP.NET MVC从0开始,一起搭框架做项目(5.3) 登录功能的实现,丰富数据表建立关联

无私分享:从入门到精通ASP.NET MVC从0开始,一起搭框架做项目(5.5) 登录功能的实现,完善登录功能

无私分享:从入门到精通ASP.NET MVC从0开始,一起搭框架做项目 (11)文件管理

无私分享:从入门到精通ASP.NET MVC从0开始,一起搭框架做项目 角色管理,分配权限

无私分享:从入门到精通ASP.NET MVC从0开始,一起搭框架做项目(7.1) 模块管理,验证权限,展示模块列表