using Lottomat.Util.WebControl; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Linq; using System.Linq.Expressions; namespace Lottomat.Data.Repository { /// /// 版 本 1.0 /// Copyright (c) 2016-2017 /// 创建人:赵轶 /// 日 期:2015.10.10 /// 描 述:定义仓储模型中的数据标准操作接口 /// /// 动态实体类型 public interface IRepository where T : class,new() { /// /// 开始事务 /// /// IRepository BeginTrans(); /// /// 提交 /// void Commit(); /// /// 回滚 /// void Rollback(); /// /// 执行T-SQL /// /// sql语句 /// int ExecuteBySql(string strSql); /// /// 执行T-SQL /// /// sql语句 /// DbCommand参数 /// int ExecuteBySql(string strSql, params DbParameter[] dbParameter); /// /// 执行存储过程 /// /// 存储过程名称 /// int ExecuteByProc(string procName); /// /// 执行存储过程 /// /// 存储过程名称 /// DbCommand参数 /// int ExecuteByProc(string procName, params DbParameter[] dbParameter); /// /// 插入一条数据 /// /// 对象实体 /// int Insert(T entity); /// /// 批量插入数据 /// /// 对象实体集合 /// int Insert(List entity); /// /// 删除 /// /// int Delete(); /// /// 删除一条数据 /// /// 对象实体 /// int Delete(T entity); /// /// 批量删除 /// /// 对象实体集合 /// int Delete(List entity); /// /// 根据条件删除数据 /// /// 条件 /// int Delete(Expression> condition); /// /// 根据主键删除一条数据 /// /// 主键 /// int Delete(object keyValue); /// /// 根据主键批量删除一条数据 /// /// 主键数组 /// int Delete(object[] keyValue); /// /// 根据属性删除 /// /// 属性值 /// 属性名 /// int Delete(object propertyValue, string propertyName); /// /// 更新一条数据 /// /// 实体对象 /// int Update(T entity); /// /// 批量更新 /// /// 实体对象集合 /// int Update(List entity); /// /// 根据条件更新 /// /// 条件 /// int Update(Expression> condition); /// /// 批量修改 /// /// 要修改的列及修改后列的值集合 /// 修改的条件 /// 修改列的名称的集合 /// 返回受影响行数 int Modify(T modelModifyProps, Expression> where, params string[] paramModifyNames); /// /// 根据主键获取一条数据 /// /// 主键值 /// T FindEntity(object keyValue); /// /// 根据条件获取一条数据 /// /// /// T FindEntity(Expression> condition); /// /// 获取IQueryable对象 /// /// IQueryable IQueryable(); /// /// 根据条件获取IQueryable对象 /// /// /// IQueryable IQueryable(Expression> condition); /// /// 根据T-SQL语句获取一条数据,返回对象集合 /// /// T-SQL语句 /// IEnumerable FindList(string strSql); /// /// 根据T-SQL语句获取一条数据,返回对象集合 /// /// T-SQL语句 /// DbCommand参数 /// IEnumerable FindList(string strSql, DbParameter[] dbParameter); /// /// 根据分页参数获取一条数据,返回对象集合 /// /// 分页参数 /// IEnumerable FindList(Pagination pagination); /// /// 根据分页参数、条件获取一条数据,返回对象集合 /// /// 条件 /// 分页参数 /// IEnumerable FindList(Expression> condition, Pagination pagination); /// /// 根据条件获取一条数据,返回对象集合 /// /// 条件 /// IEnumerable FindList(Expression> condition); /// /// 根据分页参数获取一条数据,返回对象集合 /// /// T-SQL语句 /// 分页参数 /// IEnumerable FindList(string strSql, Pagination pagination); /// /// 根据分页参数获取一条数据,返回对象集合 /// /// T-SQL语句 /// DbCommand参数 /// 分页参数 /// IEnumerable FindList(string strSql, DbParameter[] dbParameter, Pagination pagination); /// /// 根据条件获取分页数据 /// /// /// 条件 /// 排序字段 /// 是否升序 /// 每页条数 /// 索引 /// 总记录 /// IEnumerable FindList(Expression> condition, string orderField, bool isAsc, int pageSize, int pageIndex, out int total) where T : class, new(); /// /// 返回DataTable /// /// T-SQL语句 /// DataTable FindTable(string strSql); /// /// 返回DataTable /// /// T-SQL语句 /// DbCommand参数 /// DataTable FindTable(string strSql, DbParameter[] dbParameter); /// /// 返回DataTable /// /// T-SQL语句 /// 分页参数 /// DataTable FindTable(string strSql, Pagination pagination); /// /// 返回DataTable /// /// T-SQL语句 /// DbCommand参数 /// 分页参数 /// DataTable FindTable(string strSql, DbParameter[] dbParameter, Pagination pagination); /// /// 返回Object /// /// T-SQL语句 /// object FindObject(string strSql); /// /// 返回Object /// /// T-SQL语句 /// DbCommand参数 /// object FindObject(string strSql, DbParameter[] dbParameter); } }