在创建业务层之前,我们先来熟悉一下业务仓储工厂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)之业务仓储工厂的更多相关文章

  1. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(13)之会员登录注册

    源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,是我们与用户交 ...

  2. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(1)之数据库设计

    本文主要讲解本项目网站所应用到的知识点,及数据库的相关设计: 一.知识点 (1)本项目主要采取ASP.NET MVC的编程模式,相信你已经了解到了MVC的具体含义是什么,这里不再赘述,有不了解的朋友, ...

  3. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(16)之轻博客

    源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 项目到上面一步其实已经算 ...

  4. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(15)之前台网站页面

    源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 本项目主要是一个素材的分 ...

  5. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(14)之会员中心管理

    源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,主要包含了会员 ...

  6. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(9)之系统登录

    前面我们已经做好了一个文章管理功能模块,接下来,我们回头来做登录窗口,登录不仅涉及到登录验证还涉及到登录日志还有缓存时长等. 对于缓存的相关设置,我们已经写好封装在Bobo.Utilities.dll ...

  7. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(7)之扩展基类和区域创建以及文本编辑配置

    一.扩展基类和区域创建 (1)在应用之前,我们先在表现层创建一个公共的系统扩展文件来(SystemExtension)存放我们需要延伸和扩展的方法类. 在常规的项目系统操作中,我们都需要用到增删查改的 ...

  8. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(2)之创建项目

    我们在创建项目的时候一定要遵循层次和命名的原则,同时也要有统一的规范,无论是多人项目还是单人项目,能够让人看着一目了然并赏析悦目,做一个有追求的程序员. 例如IA.WebApp是视图控制器层(表现层) ...

  9. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(8)之文章管理

    到这一步,我们整个项目的核心搭建已经算是完成了,接下来就是我们业务功能的实际应用,也就是表现层的设计和实现,如果你是一个项目负责人,到这一步,接下来的工作就可以交给下面的兄弟去完成了,在这里我们用文章 ...

随机推荐

  1. Linux的登录和退出

    Linux是一个多用户的操作系统,用户要使用该系统,首先必须登录系统,使用完系统后,必须退出系统. 本章主要讨论登录和退出系统的方法: 用户登录系统时,为了使系统能够识别自己,必须输入用户名和密码,经 ...

  2. 详解composer的自动加载机制

    composer是一个用PHP开发的用来管理项目依赖的工具,当你在项目中声明了依赖关系后,composer可以自动帮你下载和安装这些依赖库,并实现自动加载代码. 安装composer composer ...

  3. 【JZOJ1922】【Usaco 2005 NOV Gold】小行星群

    题目描述 Bessie想驾驶她的飞船穿过危险的小行星群,小行星群是一个N×N的网格(1 <= N <= 500),在网格内有K个小行星(1 <= K <= 10,000). 幸 ...

  4. Java练习 SDUT-2670_3-1 Point类的构造函数

    3-1 Point类的构造函数 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 通过本题目的练习可以掌握类的构造函数的定 ...

  5. 非阻塞模式下,虽然connect出错,但是getsockopt取得的错误却是0的问题

    调试项目代码时,发现了一个奇怪问题,记录如下: 非阻塞模式下,connect发起建链,返回-1(这在非阻塞模式下是很正常的现象).然后将该socket的写事件进行监听,在写事件触发后,getsocko ...

  6. Linus 本尊也来了!为什么 KubeCon 越来越火了?

    2015年11月,第一届 KubeCon 在美国旧金山开始的时候,还只是个200人的小会议,2019年的7月,KubeCon 第二次在中国举办,就有 3500 多位云原生和开源领域工程师齐聚一堂. 连 ...

  7. 关于redis的问题:RedisException with message read error on connection

    最近碰到在REDIS执行一步get操作的时候报出错误:Uncaught RedisException: read error on connection,感觉不可理解,REDIS连接没有发现问题,但是 ...

  8. jquery( 点击按钮出来文本框并限制文本框的个数)

    // 首先呢  编辑这个文章  主要是用于和大家的交流  以便学习和交流!! <div class="form-group" id="spots"> ...

  9. sql —— like

    用于在 WHERE 子句中搜索列中的指定模式. 原表: 一.% %表示任何字符出现任意次数. 1.以某个字符串开头的数据 2.包含某个字符串的数据 3.以某个字符串结尾的数据 二._ 只适用于匹配单个 ...

  10. 巨蟒python全栈开发-第11阶段 ansible_project7

    今日大纲 1.发布详情页面 2.前端页面获取分支信息 3.前端界面获取commit信息与tag信息 4.获取线上最新版本 5.发布之实现nginx下线 6.发布之实现server发布 7.前端页面按钮 ...