ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(4)之业务仓储工厂
在创建业务层之前,我们先来熟悉一下业务仓储工厂Bobo.Repository.dll程序集,后续的业务操作,我们都将通过这个程序集中的方法传递数据库操作,其介于数据库操作与业务层之间,详情可前往《MVC仓储类Repository》查看。
1、RepositoryFactory<T> where T : new() 类:业务仓储工厂,负责创建继承至IRepository接口的类的对象实例
(1)方法 IRepository<T> Repository() 获取当前泛型指定的类型实例
(2)属性 IRepository<T> Factory 获取当前泛型指定的类型实例
2、Repository<T> 类:实现IRepository<T>接口的类,提供了业务操作的基础操作方法,主要负责与数据层交互,业务逻辑类需继承此类
| 类型 | 成员名称 | 参数说明 | 详细解析 |
|---|---|---|---|
| 方法 | DbTransaction BeginTrans() | 事务开始 | |
| 方法 | void Commit() | 提交事务 | |
| 方法 | void Rollback() | 回滚事务 | |
| 方法 | void Close() | 关闭数据库连接,非特殊情况无需手动调用 | |
| 方法 | int ExecuteBySql(StringBuilder strSql) | strSql:需要执行的sql语句,StringBuilder对象 | 执行SQL语句 |
| 方法 | int ExecuteBySql(StringBuilder strSql, DbTransaction isOpenTrans) | strSql:需要执行的sql语句,StringBuilder对象;isOpenTrans:事务对象(通过DbTransaction BeginTrans()创建) | 执行SQL语句,并封装到一个事务中 |
| 方法 | int ExecuteBySql(StringBuilder strSql, DbParameter[] parameters) | strSql:需要执行的sql语句,StringBuilder对象;parameters:sql语句对应参数(如“@param”,“值”) | 执行SQL语句 |
| 方法 | int ExecuteBySql(StringBuilder strSql, DbParameter[] parameters, DbTransaction isOpenTrans) | strSql:需要执行的sql语句,StringBuilder对象;parameters:sql语句对应参数(如“@param”,“值”);isOpenTrans:事务对象 | 执行SQL语句 |
| 方法 | int ExecuteByProc(string procName) | procName:存储过程名称,指数据库里存在的存储过程 | 执行存储过程 |
| 方法 | int ExecuteByProc(string procName, DbTransaction isOpenTrans) | procName:存储过程名称;isOpenTrans:事务对象 | 执行存储过程,带事务 |
| 方法 | int ExecuteByProc(string procName, DbParameter[] parameters) | procName:存储过程名称;parameters:参数对象数组 | 执行存储过程,带参数数组 |
| 方法 | int ExecuteByProc(string procName, DbParameter[] parameters, DbTransaction isOpenTrans) | procName:存储过程名称;parameters:参数对象数组;isOpenTrans:事务对象 | 执行存储过程,带参数数组和事务 |
| 方法 | int Insert(T entity) | entity:泛型类型实体对象 | 插入数据 |
| 方法 | int Insert(T entity, DbTransaction isOpenTrans) | entity:泛型类型实体对象;isOpenTrans:事务对象 | 插入数据 |
| 方法 | int Insert(List<T> entity) | entity:实体对象集合 | 批量插入数据 |
| 方法 | int Insert(List<T> entity, DbTransaction isOpenTrans) | entity:实体对象集合;isOpenTrans:事务对象 | 批量插入数据,带事务 |
| 方法 | int Update(T entity) | entity:要修改的实体对象 | 修改数据 |
| 方法 | int Update(T entity, DbTransaction isOpenTrans) | entity:要修改的实体对象;isOpenTrans:事务对象 | 修改数据,带事务 |
| 方法 | int Update(string propertyName, string propertyValue) | propertyName:预修改对象列名;propertyValue:预修改对象列值 | 修改数据 |
| 方法 | int Update(string propertyName, string propertyValue, DbTransaction isOpenTrans) | propertyName:预修改对象列名;propertyValue:预修改对象列值;isOpenTrans:事务对象 | 修改数据,带事务 |
| 方法 | int Update(List<T> entity) | entity:实体对象集合 | 批量修改数据 |
| 方法 | int Update(List<T> entity, DbTransaction isOpenTrans) | entity:实体对象集合;isOpenTrans:事务对象 | 批量修改数据,带事务 |
| 方法 | int Delete(T entity) | entity:实体对象 | 删除数据 |
| 方法 | int Delete(T entity, DbTransaction isOpenTrans) | entity:实体对象;isOpenTrans:事务对象 | 删除数据 |
| 方法 | int Delete(object propertyValue) | propertyValue:主键值 | 删除数据,根据主键值删除 |
| 方法 | int Delete(object propertyValue, DbTransaction isOpenTrans) | propertyValue:主键值;isOpenTrans:事务对象 | 删除数据,根据主键值删除,带事务 |
| 方法 | int Delete(string propertyName, string propertyValue) | propertyName:列名(属性名);propertyValue:列值(属性值) | 删除数据,根据属性名和属性值删除,可能是批量删除 |
| 方法 | int Delete(string propertyName, string propertyValue, DbTransaction isOpenTrans) | propertyName:列名(属性名);propertyValue:列值(属性值);isOpenTrans:事务对象 | 删除数据,根据属性名和属性值删除,可能是批量删除,带事务 |
| 方法 | int Delete(string tableName, Hashtable ht) | tableName:删除的表名;ht:条件键值对(根据ht生成where语句) | 删除数据 |
| 方法 | int Delete(string tableName, Hashtable ht, DbTransaction isOpenTrans) | tableName:删除的表名;ht:条件键值对(根据ht生成where语句);isOpenTrans:事务对象 | 删除数据 |
| 方法 | int Delete(object[] propertyValue) | propertyValue:主键值数组 | 根据主键数组批量删除 |
| 方法 | int Delete(object[] propertyValue, DbTransaction isOpenTrans) | propertyValue:主键值数组;isOpenTrans:事务对象 | 根据主键数组批量删除,带事务 |
| 方法 | int Delete(string propertyName, object[] propertyValue) | propertyName:属性名(列名);propertyValue:字段值:数组1,2,3,4,5,6..... | 批量删除数据 |
| 方法 | int Delete(string propertyName, object[] propertyValue, DbTransaction isOpenTrans) | propertyName:属性名(列名);propertyValue:字段值:数组1,2,3,4,5,6.....;isOpenTrans:事务对象 | 批量删除数据 |
| 方法 | List<T> FindListTop(int Top) | Top:显示条数 | 查询数据列表、返回List |
| 方法 | List<T> FindListTop(int Top, string propertyName, string propertyValue) | Top:显示条数;propertyName:实体属性名称;propertyValue:字段值; | 查询数据列表、返回List |
| 方法 | List<T> FindListTop(int Top, string WhereSql) | Top:显示条数;WhereSql:条件(注:条件需要以AND开头,例如“AND filed=‘一个值’”) | 查询数据列表、返回List |
| 方法 | List<T> FindListTop(int Top, string WhereSql, DbParameter[] parameters) | Top:显示条数;WhereSql:条件(AND开头);parameters:条件中的参数 | 查询数据列表、返回List |
| 方法 | List<T> FindList() | 查询所有数据列表、返回List | |
| 方法 | List<T> FindList(string propertyName, string propertyValue) | propertyName:实体属性名称;propertyValue:字段值 | 查询数据列表、返回List |
| 方法 | List<T> FindList(string WhereSql) | WhereSql:条件(AND开头); | 查询数据列表、返回List |
| 方法 | List<T> FindList(string WhereSql, DbParameter[] parameters) | WhereSql:条件(AND开头);parameters:where条件中的参数值数组 | 查询数据列表、返回List |
| 方法 | List<T> FindListBySql(string strSql) | strSql:完整SQL语句 | 查询数据列表、返回List |
| 方法 | List<T> FindListBySql(string strSql, DbParameter[] parameters) | strSql:完整SQL语句;parameters:sql语句中的参数值 | 查询数据列表、返回List |
| 方法 | List<T> FindListPage(ref JqGridParam jqgridparam) | jqgridparam:ref参数,用于存放分页参数 | 查询数据列表、返回List |
| 方法 | List<T> FindListPage(string WhereSql, ref JqGridParam jqgridparam) | WhereSql:条件(AND开头);jqgridparam:ref参数,用于存放分页参数 | 查询数据列表、返回List |
| 方法 | List<T> FindListPage(string WhereSql, DbParameter[] parameters, ref JqGridParam jqgridparam) | WhereSql:条件(AND开头);parameters:sql语句中的参数;jqgridparam:ref参数,用于存放分页参数 | 查询数据列表、返回List |
| 方法 | List<T> FindListPageBySql(string strSql, ref JqGridParam jqgridparam) | strSql:完整sql语句;jqgridparam:ref参数,用于存放分页参数 | 查询数据列表、返回List |
| 方法 | List<T> FindListPageBySql(string strSql, DbParameter[] parameters, ref JqGridParam jqgridparam) | strSql:完整sql语句;parameters:sql语句中定义的参数;jqgridparam:ref参数,用于存放分页参数 | 查询数据列表、返回List |
| 方法 | DataTable FindTableTop(int Top) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTableTop(int Top, string WhereSql) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTableTop(int Top, string WhereSql, DbParameter[] parameters) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTable() | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTable(string WhereSql) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTable(string WhereSql, DbParameter[] parameters) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTableBySql(string strSql) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTableBySql(string strSql, DbParameter[] parameters) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTablePage(ref JqGridParam jqgridparam) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTablePage(string WhereSql, ref JqGridParam jqgridparam) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTablePage(string WhereSql, DbParameter[] parameters, ref JqGridParam jqgridparam) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTablePageBySql(string strSql, ref JqGridParam jqgridparam) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTablePageBySql(string strSql, DbParameter[] parameters, ref JqGridParam jqgridparam) | 查询数据列表、返回 DataTable | |
| 方法 | DataTable FindTableByProc(string procName) | procName:数据库中存在的存储过程名称 | 查询数据列表、返回 DataTable |
| 方法 | DataTable FindTableByProc(string procName, DbParameter[] parameters) | procName:数据库中存在的存储过程名称;parameters:存储过程中使用的参数; | 查询数据列表、返回 DataTable |
| 方法 | DataSet FindDataSetBySql(string strSql) | 查询数据列表、返回DataSet | |
| 方法 | DataSet FindDataSetBySql(string strSql, DbParameter[] parameters) | 查询数据列表、返回DataSet | |
| 方法 | DataSet FindDataSetByProc(string procName) | procName:存储过程名称 | 查询数据列表、返回DataSet |
| 方法 | DataSet FindDataSetByProc(string procName, DbParameter[] parameters) | 查询数据列表、返回DataSet | |
| 方法 | T FindEntity(object propertyValue) | propertyValue:主键值 | 查询对象、返回实体 |
| 方法 | T FindEntity(string propertyName, object propertyValue) | propertyName:实体属性名称;propertyValue:字段值 | 查询对象、返回实体 |
| 方法 | T FindEntityByWhere(string WhereSql) | WhereSql:条件(AND开头) | 查询对象、返回实体 |
| 方法 | T FindEntityByWhere(string WhereSql, DbParameter[] parameters) | WhereSql:条件(AND开头);parameters:WhereSql中用到的参数 | 查询对象、返回实体 |
| 方法 | T FindEntityBySql(string strSql) | strSql:完整SQL语句 | 查询对象、返回实体 |
| 方法 | T FindEntityBySql(string strSql, DbParameter[] parameters) | strSql:完整SQL语句;parameters;strSql参数中用到的参数 | 查询对象、返回实体 |
| 方法 | int FindCount() | 查询数据、返回条数 | |
| 方法 | int FindCount(string propertyName, string propertyValue) | 查询数据、返回条数 | |
| 方法 | int FindCount(string WhereSql) | 查询数据、返回条数 | |
| 方法 | int FindCount(string WhereSql, DbParameter[] parameters) | 查询数据、返回条数 | |
| 方法 | int FindCountBySql(string strSql) | 查询数据、返回条数 | |
| 方法 | int FindCountBySql(string strSql, DbParameter[] parameters) | 查询数据、返回条数 | |
| 方法 | object FindMax<T>(string propertyName) where T : new() | propertyName:列名 | 查询数据、返回最大数 |
| 方法 | object FindMax(string propertyName, string WhereSql) | 查询数据、返回最大数 | |
| 方法 | object FindMax(string propertyName, string WhereSql, DbParameter[] parameters) | 查询数据、返回最大数 | |
| 方法 | object FindMaxBySql(string strSql) | 查询数据、返回最大数 | |
| 方法 | object FindMaxBySql(string strSql, DbParameter[] parameters) | 查询数据、返回最大数 |
ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(4)之业务仓储工厂的更多相关文章
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(13)之会员登录注册
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,是我们与用户交 ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(1)之数据库设计
本文主要讲解本项目网站所应用到的知识点,及数据库的相关设计: 一.知识点 (1)本项目主要采取ASP.NET MVC的编程模式,相信你已经了解到了MVC的具体含义是什么,这里不再赘述,有不了解的朋友, ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(16)之轻博客
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 项目到上面一步其实已经算 ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(15)之前台网站页面
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 本项目主要是一个素材的分 ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(14)之会员中心管理
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,主要包含了会员 ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(9)之系统登录
前面我们已经做好了一个文章管理功能模块,接下来,我们回头来做登录窗口,登录不仅涉及到登录验证还涉及到登录日志还有缓存时长等. 对于缓存的相关设置,我们已经写好封装在Bobo.Utilities.dll ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(7)之扩展基类和区域创建以及文本编辑配置
一.扩展基类和区域创建 (1)在应用之前,我们先在表现层创建一个公共的系统扩展文件来(SystemExtension)存放我们需要延伸和扩展的方法类. 在常规的项目系统操作中,我们都需要用到增删查改的 ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(2)之创建项目
我们在创建项目的时候一定要遵循层次和命名的原则,同时也要有统一的规范,无论是多人项目还是单人项目,能够让人看着一目了然并赏析悦目,做一个有追求的程序员. 例如IA.WebApp是视图控制器层(表现层) ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(8)之文章管理
到这一步,我们整个项目的核心搭建已经算是完成了,接下来就是我们业务功能的实际应用,也就是表现层的设计和实现,如果你是一个项目负责人,到这一步,接下来的工作就可以交给下面的兄弟去完成了,在这里我们用文章 ...
随机推荐
- Django中blank和NULL
当我们在django中添加一个数据库字段时,我们通常会写models.CharField(max_length = 100,null = True,blank = True).用ForeignKey, ...
- [idea]idea配置tomcat 标签: tomcatidea 2017-03-12 22:12 402人阅读 评论(19)
我们在使用idea的时候,一定会遇到的一步,就是使用tomcat来发布我们的项目,那么,如何在idea中设置tomcat呢?下面就随小编来一起学习一下吧. 设置tomcat 打开设置界面 Run-&g ...
- [ 浙江大学 数据库系统原理 ] [ MiniSQL ]课程设计
工作流程图如下.代码详见https://github.com/gstggsstt/minisql. 注:课程设计时间紧迫,编码基本没有性能考虑,仅限于实现功能,索引未使用B+tree.
- Effective Modern C++:01类型推导
C++的官方钦定版本,都是以ISO标准被接受的年份命名,分别是C++98,C++03,C++11,C++14,C++17,C++20等.C++11及其后续版本统称为Modern C++. C++11之 ...
- Data Lake Analytics中OSS LOCATION的使用说明
前言 Data Lake Analytic(后文简称 DLA)可以帮助用户通过标准的SQL语句直接对存储在OSS.TableStore上的数据进行查询分析. 在查询前,用户需要根据数据文件的格式和内容 ...
- compass与css sprite(雪碧图)
什么是css sprite? css sprite,中文叫雪碧图,也有人喊CSS精灵,就是一种背景拼合的技术,然后通过background-position来显示雪碧图中需要显示的图像. MDN相关链 ...
- SQLServer —— 用户权限操作
说明 以下操作都是基于SQLServer登陆验证方式登陆.而且操作员都是 sa. 一.添加登陆账号 use master go ' 第一个(xu)是登陆名,第二个(123456)是登陆密码. 执行语句 ...
- 介绍配置管理工具SVN的使用
配置管理CM(Configuration Mangerment) 一.配置管理工具SVN的介绍 ---Subversion ---是一个开放源代码的版本控制系统 ---时下流行的SVN和GIT 每天开 ...
- JQ取消hover事件
$('a').unbind('mouseenter').unbind('mouseleave');
- 最短路-SPAF模板
以hdu1874畅通工程续为例 #include<iostream> #include<cstring> #include<cstdio> #include< ...