IBaseRepository.cs 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq.Expressions;
  6. using ZR.Model;
  7. namespace ZR.Repository
  8. {
  9. public interface IBaseRepository<T> : ISimpleClient<T> where T : class, new()
  10. {
  11. #region add
  12. int Add(T t, bool ignoreNull = true);
  13. int Insert(List<T> t);
  14. int Insert(T parm, Expression<Func<T, object>> iClumns = null, bool ignoreNull = true);
  15. IInsertable<T> Insertable(T t);
  16. #endregion add
  17. #region update
  18. IUpdateable<T> Updateable(T entity);
  19. int Update(T entity, bool ignoreNullColumns = false);
  20. /// <summary>
  21. /// 只更新表达式的值
  22. /// </summary>
  23. /// <param name="entity"></param>
  24. /// <param name="expression"></param>
  25. /// <returns></returns>
  26. int Update(T entity, Expression<Func<T, object>> expression, bool ignoreAllNull = false);
  27. int Update(T entity, Expression<Func<T, object>> expression, Expression<Func<T, bool>> where);
  28. int Update(SqlSugarClient client, T entity, Expression<Func<T, object>> expression, Expression<Func<T, bool>> where);
  29. int Update(Expression<Func<T, bool>> where, Expression<Func<T, T>> columns);
  30. #endregion update
  31. IStorageable<T> Storageable(T t);
  32. IStorageable<T> Storageable(List<T> t);
  33. DbResult<bool> UseTran(Action action);
  34. DbResult<bool> UseTran(SqlSugarClient client, Action action);
  35. bool UseTran2(Action action);
  36. #region delete
  37. IDeleteable<T> Deleteable();
  38. int Delete(object[] obj);
  39. int Delete(object id);
  40. int DeleteTable();
  41. bool Truncate();
  42. #endregion delete
  43. #region query
  44. /// <summary>
  45. /// 根据条件查询分页数据
  46. /// </summary>
  47. /// <param name="where"></param>
  48. /// <param name="parm"></param>
  49. /// <returns></returns>
  50. PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm);
  51. PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm, Expression<Func<T, object>> order, OrderByType orderEnum = OrderByType.Asc);
  52. PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm, Expression<Func<T, object>> order, string orderByType);
  53. bool Any(Expression<Func<T, bool>> expression);
  54. ISugarQueryable<T> Queryable();
  55. List<T> GetAll(bool useCache = false, int cacheSecond = 3600);
  56. (List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, int pageIndex = 0, int pageSize = 10);
  57. (List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, string order, int pageIndex = 0, int pageSize = 10);
  58. (List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, Expression<Func<T, object>> orderFiled, string orderBy, int pageIndex = 0, int pageSize = 10);
  59. List<T> SqlQueryToList(string sql, object obj = null);
  60. T GetId(object pkValue);
  61. #endregion query
  62. #region Procedure
  63. DataTable UseStoredProcedureToDataTable(string procedureName, List<SugarParameter> parameters);
  64. (DataTable, List<SugarParameter>) UseStoredProcedureToTuple(string procedureName, List<SugarParameter> parameters);
  65. #endregion Procedure
  66. }
  67. }