using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace SqlSugar { public partial interface IAdo { string SqlParameterKeyWord { get; } IDbConnection Connection { get; set; } IDbTransaction Transaction { get; set; } IDataParameter[] ToIDbDataParameter(params SugarParameter[] pars); SugarParameter[] GetParameters(object obj, PropertyInfo[] propertyInfo = null); SqlSugarProvider Context { get; set; } void ExecuteBefore(string sql, SugarParameter[] pars); void ExecuteAfter(string sql, SugarParameter[] pars); bool IsEnableLogEvent{get;set;} IDataParameterCollection DataReaderParameters { get; set; } CommandType CommandType { get; set; } bool IsDisableMasterSlaveSeparation { get; set; } bool IsClearParameters { get; set; } int CommandTimeOut { get; set; } TimeSpan SqlExecutionTime { get; } IDbBind DbBind { get; } void SetCommandToAdapter(IDataAdapter adapter, DbCommand command); IDataAdapter GetAdapter(); DbCommand GetCommand(string sql, SugarParameter[] parameters); DataTable GetDataTable(string sql, object parameters); DataTable GetDataTable(string sql, params SugarParameter[] parameters); DataTable GetDataTable(string sql, List parameters); Task GetDataTableAsync(string sql, object parameters); Task GetDataTableAsync(string sql, params SugarParameter[] parameters); Task GetDataTableAsync(string sql, List parameters); DataSet GetDataSetAll(string sql, object parameters); DataSet GetDataSetAll(string sql, params SugarParameter[] parameters); DataSet GetDataSetAll(string sql, List parameters); Task GetDataSetAllAsync(string sql, object parameters); Task GetDataSetAllAsync(string sql, params SugarParameter[] parameters); Task GetDataSetAllAsync(string sql, List parameters); IDataReader GetDataReader(string sql, object parameters); IDataReader GetDataReader(string sql, params SugarParameter[] parameters); IDataReader GetDataReader(string sql, List parameters); Task GetDataReaderAsync(string sql, object parameters); Task GetDataReaderAsync(string sql, params SugarParameter[] parameters); Task GetDataReaderAsync(string sql, List parameters); object GetScalar(string sql, object parameters); object GetScalar(string sql, params SugarParameter[] parameters); object GetScalar(string sql, List parameters); Task GetScalarAsync(string sql, object parameters); Task GetScalarAsync(string sql, params SugarParameter[] parameters); Task GetScalarAsync(string sql, List parameters); int ExecuteCommand(string sql, object parameters); int ExecuteCommand(string sql, params SugarParameter[] parameters); int ExecuteCommand(string sql, List parameters); Task ExecuteCommandAsync(string sql, params SugarParameter[] parameters); Task ExecuteCommandAsync(string sql, object parameters); Task ExecuteCommandAsync(string sql, List parameters); string GetString(string sql, object parameters); string GetString(string sql, params SugarParameter[] parameters); string GetString(string sql, List parameters); Task GetStringAsync(string sql, object parameters); Task GetStringAsync(string sql, params SugarParameter[] parameters); Task GetStringAsync(string sql, List parameters); int GetInt(string sql, object pars); int GetInt(string sql, params SugarParameter[] parameters); int GetInt(string sql, List parameters); Task GetIntAsync(string sql, object pars); Task GetIntAsync(string sql, params SugarParameter[] parameters); Task GetIntAsync(string sql, List parameters); long GetLong(string sql, object pars=null); Task GetLongAsync(string sql, object pars=null); Double GetDouble(string sql, object parameters); Double GetDouble(string sql, params SugarParameter[] parameters); Double GetDouble(string sql, List parameters); Task GetDoubleAsync(string sql, object parameters); Task GetDoubleAsync(string sql, params SugarParameter[] parameters); Task GetDoubleAsync(string sql, List parameters); decimal GetDecimal(string sql, object parameters); decimal GetDecimal(string sql, params SugarParameter[] parameters); decimal GetDecimal(string sql, List parameters); Task GetDecimalAsync(string sql, object parameters); Task GetDecimalAsync(string sql, params SugarParameter[] parameters); Task GetDecimalAsync(string sql, List parameters); DateTime GetDateTime(string sql, object parameters); DateTime GetDateTime(string sql, params SugarParameter[] parameters); DateTime GetDateTime(string sql, List parameters); Task GetDateTimeAsync(string sql, object parameters); Task GetDateTimeAsync(string sql, params SugarParameter[] parameters); Task GetDateTimeAsync(string sql, List parameters); Tuple, List> SqlQuery(string sql, object parameters = null); Tuple, List, List> SqlQuery(string sql, object parameters = null); Tuple, List, List,List> SqlQuery(string sql, object parameters = null); Tuple, List, List, List, List> SqlQuery(string sql, object parameters = null); Tuple, List, List, List, List, List> SqlQuery(string sql, object parameters = null); Tuple, List, List, List, List, List, List> SqlQuery(string sql, object parameters = null); Task, List>> SqlQueryAsync(string sql, object parameters = null); Task, List, List>> SqlQueryAsync(string sql, object parameters = null); Task, List, List, List>> SqlQueryAsync(string sql, object parameters = null); Task, List, List, List, List>> SqlQueryAsync(string sql, object parameters = null); Task, List, List, List, List, List>> SqlQueryAsync(string sql, object parameters = null); Task, List, List, List, List, List, List>> SqlQueryAsync(string sql, object parameters = null); List SqlQuery(string sql, object parameters = null); List SqlQuery(string sql, params SugarParameter[] parameters); List SqlQuery(string sql, List parameters); Task> SqlQueryAsync(string sql, object parameters = null); Task> SqlQueryAsync(string sql, List parameters); Task> SqlQueryAsync(string sql, params SugarParameter[] parameters); T SqlQuerySingle(string sql, object whereObj = null); T SqlQuerySingle(string sql, params SugarParameter[] parameters); T SqlQuerySingle(string sql, List parameters); Task SqlQuerySingleAsync(string sql, object whereObj = null); Task SqlQuerySingleAsync(string sql, params SugarParameter[] parameters); Task SqlQuerySingleAsync(string sql, List parameters); void Dispose(); void Close(); void Open(); void CheckConnection(); void BeginTran(); void BeginTran(IsolationLevel iso); void BeginTran(string transactionName); void BeginTran(IsolationLevel iso, string transactionName); void RollbackTran(); void CommitTran(); DbResult UseTran(Action action, Action errorCallBack = null); DbResult UseTran(Func action, Action errorCallBack = null); Task> UseTranAsync(Action action, Action errorCallBack = null); Task> UseTranAsync(Func action, Action errorCallBack = null); IAdo UseStoredProcedure(); #region Obsolete [Obsolete("Use db.ado.UseStoredProcedure().MethodName()")] void UseStoredProcedure(Action action); [Obsolete("Use db.ado.UseStoredProcedure().MethodName()")] T UseStoredProcedure(Func action); [Obsolete("Use SqlQuery(sql)")] dynamic SqlQueryDynamic(string sql, object whereObj = null); [Obsolete("Use SqlQuery(sql)")] dynamic SqlQueryDynamic(string sql, params SugarParameter[] parameters); [Obsolete("Use SqlQuery(sql)")] dynamic SqlQueryDynamic(string sql, List parameters); #endregion } }