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