索引

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

简述

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

项目准备

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

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

项目开始

一、创建接口 IRepository

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

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

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(3)公共基础数据操作类 RepositoryBase

 

二、基础操作的接口方法

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

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(3)公共基础数据操作类 RepositoryBase

 

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

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

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(3)公共基础数据操作类 RepositoryBase

 

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

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(3)公共基础数据操作类 RepositoryBase

 

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

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(3)公共基础数据操作类 RepositoryBase

 

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

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

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(3)公共基础数据操作类 RepositoryBase

 

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

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

 

单模型操作

 

 1  #region 单模型操作
 2         /// <summary>
 3         /// 获取实体
 4         /// </summary>
 5         /// <param name="id">主键</param>
 6         /// <returns>实体</returns>
 7         T Get(Expression<Func<T, bool>> predicate);
 8         /// <summary>
 9         /// 插入实体
10         /// </summary>
11         /// <param name="entity">实体</param>
12         /// <returns>ID</returns>
13         bool Save(T entity);
14 
15         /// <summary>
16         /// 修改实体
17         /// </summary>
18         /// <param name="entity">实体</param>
19         bool Update(T entity);
20         /// <summary>
21         /// 修改或保存实体
22         /// </summary>
23         /// <param name="entity">实体</param>
24         bool SaveOrUpdate(T entity, bool isEdit);
25 
26         /// <summary>
27         /// 删除实体
28         /// </summary>
29         int Delete(Expression<Func<T, bool>> predicate = null);
30 
31         /// <summary>
32         /// 执行SQL删除
33         /// </summary>
34         int DeleteBySql(string sql, params DbParameter[] para);
35 
36         /// <summary>
37         /// 根据属性验证实体对象是否存在
38         /// </summary>
39         bool IsExist(Expression<Func<T, bool>> predicate);
40 
41         /// <summary>
42         /// 根据SQL验证实体对象是否存在
43         /// </summary>
44         bool IsExist(string sql, params DbParameter[] para);
45         #endregion
View Code

相关文章: