IAdo.cs 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.Common;
  5. using System.Linq;
  6. using System.Reflection;
  7. using System.Text;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10. namespace SqlSugar
  11. {
  12. public partial interface IAdo
  13. {
  14. string SqlParameterKeyWord { get; }
  15. IDbConnection Connection { get; set; }
  16. IDbTransaction Transaction { get; set; }
  17. IDataParameter[] ToIDbDataParameter(params SugarParameter[] pars);
  18. SugarParameter[] GetParameters(object obj, PropertyInfo[] propertyInfo = null);
  19. SqlSugarProvider Context { get; set; }
  20. void ExecuteBefore(string sql, SugarParameter[] pars);
  21. void ExecuteAfter(string sql, SugarParameter[] pars);
  22. bool IsAnyTran();
  23. bool IsNoTran();
  24. bool IsEnableLogEvent{get;set;}
  25. StackTraceInfo SqlStackTrace { get; }
  26. IDataParameterCollection DataReaderParameters { get; set; }
  27. CommandType CommandType { get; set; }
  28. CancellationToken? CancellationToken { get; set; }
  29. bool IsDisableMasterSlaveSeparation { get; set; }
  30. bool IsClearParameters { get; set; }
  31. int CommandTimeOut { get; set; }
  32. TimeSpan SqlExecutionTime { get; }
  33. int SqlExecuteCount { get; }
  34. IDbBind DbBind { get; }
  35. void SetCommandToAdapter(IDataAdapter adapter, DbCommand command);
  36. IDataAdapter GetAdapter();
  37. DbCommand GetCommand(string sql, SugarParameter[] parameters);
  38. DataTable GetDataTable(string sql, object parameters);
  39. DataTable GetDataTable(string sql, params SugarParameter[] parameters);
  40. DataTable GetDataTable(string sql, List<SugarParameter> parameters);
  41. Task<DataTable> GetDataTableAsync(string sql, object parameters);
  42. Task<DataTable> GetDataTableAsync(string sql, params SugarParameter[] parameters);
  43. Task<DataTable> GetDataTableAsync(string sql, List<SugarParameter> parameters);
  44. DataSet GetDataSetAll(string sql, object parameters);
  45. DataSet GetDataSetAll(string sql, params SugarParameter[] parameters);
  46. DataSet GetDataSetAll(string sql, List<SugarParameter> parameters);
  47. Task<DataSet> GetDataSetAllAsync(string sql, object parameters);
  48. Task<DataSet> GetDataSetAllAsync(string sql, params SugarParameter[] parameters);
  49. Task<DataSet> GetDataSetAllAsync(string sql, List<SugarParameter> parameters);
  50. IDataReader GetDataReader(string sql, object parameters);
  51. IDataReader GetDataReader(string sql, params SugarParameter[] parameters);
  52. IDataReader GetDataReader(string sql, List<SugarParameter> parameters);
  53. Task<IDataReader> GetDataReaderAsync(string sql, object parameters);
  54. Task<IDataReader> GetDataReaderAsync(string sql, params SugarParameter[] parameters);
  55. Task<IDataReader> GetDataReaderAsync(string sql, List<SugarParameter> parameters);
  56. object GetScalar(string sql, object parameters);
  57. object GetScalar(string sql, params SugarParameter[] parameters);
  58. object GetScalar(string sql, List<SugarParameter> parameters);
  59. Task<object> GetScalarAsync(string sql, object parameters);
  60. Task<object> GetScalarAsync(string sql, params SugarParameter[] parameters);
  61. Task<object> GetScalarAsync(string sql, List<SugarParameter> parameters);
  62. int ExecuteCommandWithGo(string sql, params SugarParameter[] parameters);
  63. int ExecuteCommand(string sql, object parameters);
  64. int ExecuteCommand(string sql, params SugarParameter[] parameters);
  65. int ExecuteCommand(string sql, List<SugarParameter> parameters);
  66. Task<int> ExecuteCommandAsync(string sql, params SugarParameter[] parameters);
  67. Task<int> ExecuteCommandAsync(string sql, object parameters);
  68. Task<int> ExecuteCommandAsync(string sql, object parameters,CancellationToken cancellationToken);
  69. Task<int> ExecuteCommandAsync(string sql, List<SugarParameter> parameters);
  70. string GetString(string sql, object parameters);
  71. string GetString(string sql, params SugarParameter[] parameters);
  72. string GetString(string sql, List<SugarParameter> parameters);
  73. Task<string> GetStringAsync(string sql, object parameters);
  74. Task<string> GetStringAsync(string sql, params SugarParameter[] parameters);
  75. Task<string> GetStringAsync(string sql, List<SugarParameter> parameters);
  76. int GetInt(string sql, object pars);
  77. int GetInt(string sql, params SugarParameter[] parameters);
  78. int GetInt(string sql, List<SugarParameter> parameters);
  79. Task<int> GetIntAsync(string sql, object pars);
  80. Task<int> GetIntAsync(string sql, params SugarParameter[] parameters);
  81. Task<int> GetIntAsync(string sql, List<SugarParameter> parameters);
  82. long GetLong(string sql, object pars=null);
  83. Task<long> GetLongAsync(string sql, object pars=null);
  84. Double GetDouble(string sql, object parameters);
  85. Double GetDouble(string sql, params SugarParameter[] parameters);
  86. Double GetDouble(string sql, List<SugarParameter> parameters);
  87. Task<Double> GetDoubleAsync(string sql, object parameters);
  88. Task<Double> GetDoubleAsync(string sql, params SugarParameter[] parameters);
  89. Task<Double> GetDoubleAsync(string sql, List<SugarParameter> parameters);
  90. decimal GetDecimal(string sql, object parameters);
  91. decimal GetDecimal(string sql, params SugarParameter[] parameters);
  92. decimal GetDecimal(string sql, List<SugarParameter> parameters);
  93. Task<decimal> GetDecimalAsync(string sql, object parameters);
  94. Task<decimal> GetDecimalAsync(string sql, params SugarParameter[] parameters);
  95. Task<decimal> GetDecimalAsync(string sql, List<SugarParameter> parameters);
  96. DateTime GetDateTime(string sql, object parameters);
  97. DateTime GetDateTime(string sql, params SugarParameter[] parameters);
  98. DateTime GetDateTime(string sql, List<SugarParameter> parameters);
  99. Task<DateTime> GetDateTimeAsync(string sql, object parameters);
  100. Task<DateTime> GetDateTimeAsync(string sql, params SugarParameter[] parameters);
  101. Task<DateTime> GetDateTimeAsync(string sql, List<SugarParameter> parameters);
  102. Tuple<List<T>, List<T2>> SqlQuery<T,T2>(string sql, object parameters = null);
  103. Tuple<List<T>, List<T2>, List<T3>> SqlQuery<T, T2,T3>(string sql, object parameters = null);
  104. Tuple<List<T>, List<T2>, List<T3>,List<T4>> SqlQuery<T,T2,T3,T4>(string sql, object parameters = null);
  105. Tuple<List<T>, List<T2>, List<T3>, List<T4>, List<T5>> SqlQuery<T, T2, T3, T4,T5>(string sql, object parameters = null);
  106. Tuple<List<T>, List<T2>, List<T3>, List<T4>, List<T5>, List<T6>> SqlQuery<T, T2, T3, T4, T5,T6>(string sql, object parameters = null);
  107. Tuple<List<T>, List<T2>, List<T3>, List<T4>, List<T5>, List<T6>, List<T7>> SqlQuery<T, T2, T3, T4, T5, T6,T7>(string sql, object parameters = null);
  108. Task<Tuple<List<T>, List<T2>>> SqlQueryAsync<T, T2>(string sql, object parameters = null);
  109. Task<Tuple<List<T>, List<T2>, List<T3>>> SqlQueryAsync<T, T2, T3>(string sql, object parameters = null);
  110. Task<Tuple<List<T>, List<T2>, List<T3>, List<T4>>> SqlQueryAsync<T, T2, T3, T4>(string sql, object parameters = null);
  111. Task<Tuple<List<T>, List<T2>, List<T3>, List<T4>, List<T5>>> SqlQueryAsync<T, T2, T3, T4, T5>(string sql, object parameters = null);
  112. Task<Tuple<List<T>, List<T2>, List<T3>, List<T4>, List<T5>, List<T6>>> SqlQueryAsync<T, T2, T3, T4, T5, T6>(string sql, object parameters = null);
  113. Task<Tuple<List<T>, List<T2>, List<T3>, List<T4>, List<T5>, List<T6>, List<T7>>> SqlQueryAsync<T, T2, T3, T4, T5, T6, T7>(string sql, object parameters = null);
  114. List<T> SqlQuery<T>(string sql, object parameters = null);
  115. List<T> SqlQuery<T>(string sql, params SugarParameter[] parameters);
  116. List<T> SqlQuery<T>(string sql, List<SugarParameter> parameters);
  117. Task<List<T>> MasterSqlQueryAasync<T>(string sql, object parameters = null);
  118. List<T> MasterSqlQuery<T>(string sql, object parameters = null);
  119. Task<List<T>> SqlQueryAsync<T>(string sql, object parameters = null);
  120. Task<List<T>> SqlQueryAsync<T>(string sql, object parameters,CancellationToken token);
  121. Task<List<T>> SqlQueryAsync<T>(string sql, List<SugarParameter> parameters);
  122. Task<List<T>> SqlQueryAsync<T>(string sql, params SugarParameter[] parameters);
  123. T SqlQuerySingle<T>(string sql, object whereObj = null);
  124. T SqlQuerySingle<T>(string sql, params SugarParameter[] parameters);
  125. T SqlQuerySingle<T>(string sql, List<SugarParameter> parameters);
  126. Task<T> SqlQuerySingleAsync<T>(string sql, object whereObj = null);
  127. Task<T> SqlQuerySingleAsync<T>(string sql, params SugarParameter[] parameters);
  128. Task<T> SqlQuerySingleAsync<T>(string sql, List<SugarParameter> parameters);
  129. void RemoveCancellationToken();
  130. void Dispose();
  131. void Close();
  132. void Open();
  133. SugarConnection OpenAlways();
  134. bool IsValidConnection();
  135. bool IsValidConnectionNoClose();
  136. void CheckConnection();
  137. void BeginTran();
  138. Task BeginTranAsync();
  139. Task BeginTranAsync(IsolationLevel iso);
  140. void BeginTran(IsolationLevel iso);
  141. void BeginTran(string transactionName);
  142. void BeginTran(IsolationLevel iso, string transactionName);
  143. void RollbackTran();
  144. Task RollbackTranAsync();
  145. void CommitTran();
  146. Task CommitTranAsync();
  147. DbResult<bool> UseTran(Action action, Action<Exception> errorCallBack = null);
  148. DbResult<T> UseTran<T>(Func<T> action, Action<Exception> errorCallBack = null);
  149. Task<DbResult<bool>> UseTranAsync(Func<Task> action, Action<Exception> errorCallBack = null);
  150. Task<DbResult<T>> UseTranAsync<T>(Func<Task<T>> action, Action<Exception> errorCallBack = null);
  151. IAdo UseStoredProcedure();
  152. }
  153. }