diff --git a/Src/Asp.Net/SqlSugar/Abstract/AdoProvider/AdoProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/AdoProvider/AdoProvider.cs index 489dc5529..5343b2f55 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/AdoProvider/AdoProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/AdoProvider/AdoProvider.cs @@ -442,10 +442,8 @@ namespace SqlSugar SetConnectionEnd(sql); } } - #endregion - #region Core Async - public virtual async Task ExecuteCommandAsync(string sql, params SugarParameter[] parameters) + public virtual async Task ExecuteCommandAsync(string sql, params SugarParameter[] parameters) { try { @@ -457,7 +455,7 @@ namespace SqlSugar ExecuteProcessingSQL(ref sql, parameters); ExecuteBefore(sql, parameters); var sqlCommand = GetCommand(sql, parameters); - int count =await sqlCommand.ExecuteNonQueryAsync(); + int count = await sqlCommand.ExecuteNonQueryAsync(); if (this.IsClearParameters) sqlCommand.Parameters.Clear(); ExecuteAfter(sql, parameters); @@ -489,7 +487,7 @@ namespace SqlSugar ExecuteProcessingSQL(ref sql, parameters); ExecuteBefore(sql, parameters); var sqlCommand = GetCommand(sql, parameters); - var sqlDataReader =await sqlCommand.ExecuteReaderAsync(this.IsAutoClose() ? CommandBehavior.CloseConnection : CommandBehavior.Default); + var sqlDataReader = await sqlCommand.ExecuteReaderAsync(this.IsAutoClose() ? CommandBehavior.CloseConnection : CommandBehavior.Default); if (isSp) DataReaderParameters = sqlCommand.Parameters; if (this.IsClearParameters) @@ -548,7 +546,7 @@ namespace SqlSugar ExecuteProcessingSQL(ref sql, parameters); ExecuteBefore(sql, parameters); var sqlCommand = GetCommand(sql, parameters); - var scalar =await sqlCommand.ExecuteScalarAsync(); + var scalar = await sqlCommand.ExecuteScalarAsync(); //scalar = (scalar == null ? 0 : scalar); if (this.IsClearParameters) sqlCommand.Parameters.Clear(); @@ -568,6 +566,11 @@ namespace SqlSugar SetConnectionEnd(sql); } } + public virtual Task GetDataSetAllAsync(string sql, params SugarParameter[] parameters) + { + //False asynchrony . No Support DataSet + return Task.FromResult(GetDataSetAll(sql,parameters)); + } #endregion #region Methods @@ -591,22 +594,43 @@ namespace SqlSugar return GetString(sql, parameters.ToArray()); } } - public virtual int GetInt(string sql, object parameters) + + + public virtual Task GetStringAsync(string sql, object parameters) { - return GetInt(sql, this.GetParameters(parameters)); + return GetStringAsync(sql, this.GetParameters(parameters)); } + public virtual async Task GetStringAsync(string sql, params SugarParameter[] parameters) + { + return Convert.ToString(await GetScalarAsync(sql, parameters)); + } + public virtual Task GetStringAsync(string sql, List parameters) + { + if (parameters == null) + { + return GetStringAsync(sql); + } + else + { + return GetStringAsync(sql, parameters.ToArray()); + } + } + + + public virtual long GetLong(string sql, object parameters) { return Convert.ToInt64(GetScalar(sql, GetParameters(parameters))); } - public virtual int GetInt(string sql, params SugarParameter[] parameters) + public virtual async Task GetLongAsync(string sql, object parameters) { - return GetScalar(sql, parameters).ObjToInt(); + return Convert.ToInt64(await GetScalarAsync(sql, GetParameters(parameters))); } - public virtual async Task GetIntAsync(string sql, params SugarParameter[] parameters) + + + public virtual int GetInt(string sql, object parameters) { - var list = await GetScalarAsync(sql, parameters); - return list.ObjToInt(); + return GetInt(sql, this.GetParameters(parameters)); } public virtual int GetInt(string sql, List parameters) { @@ -619,6 +643,32 @@ namespace SqlSugar return GetInt(sql, parameters.ToArray()); } } + public virtual int GetInt(string sql, params SugarParameter[] parameters) + { + return GetScalar(sql, parameters).ObjToInt(); + } + + public virtual Task GetIntAsync(string sql, object parameters) + { + return GetIntAsync(sql, this.GetParameters(parameters)); + } + public virtual Task GetIntAsync(string sql, List parameters) + { + if (parameters == null) + { + return GetIntAsync(sql); + } + else + { + return GetIntAsync(sql, parameters.ToArray()); + } + } + public virtual async Task GetIntAsync(string sql, params SugarParameter[] parameters) + { + var list = await GetScalarAsync(sql, parameters); + return list.ObjToInt(); + } + public virtual Double GetDouble(string sql, object parameters) { return GetDouble(sql, this.GetParameters(parameters)); @@ -638,6 +688,29 @@ namespace SqlSugar return GetDouble(sql, parameters.ToArray()); } } + + public virtual Task GetDoubleAsync(string sql, object parameters) + { + return GetDoubleAsync(sql, this.GetParameters(parameters)); + } + public virtual async Task GetDoubleAsync(string sql, params SugarParameter[] parameters) + { + var result = await GetScalarAsync(sql, parameters); + return result.ObjToMoney(); + } + public virtual Task GetDoubleAsync(string sql, List parameters) + { + if (parameters == null) + { + return GetDoubleAsync(sql); + } + else + { + return GetDoubleAsync(sql, parameters.ToArray()); + } + } + + public virtual decimal GetDecimal(string sql, object parameters) { return GetDecimal(sql, this.GetParameters(parameters)); @@ -657,6 +730,31 @@ namespace SqlSugar return GetDecimal(sql, parameters.ToArray()); } } + + + public virtual Task GetDecimalAsync(string sql, object parameters) + { + return GetDecimalAsync(sql, this.GetParameters(parameters)); + } + public virtual async Task GetDecimalAsync(string sql, params SugarParameter[] parameters) + { + var result =await GetScalarAsync(sql, parameters); + return result.ObjToDecimal(); + } + public virtual Task GetDecimalAsync(string sql, List parameters) + { + if (parameters == null) + { + return GetDecimalAsync(sql); + } + else + { + return GetDecimalAsync(sql, parameters.ToArray()); + } + } + + + public virtual DateTime GetDateTime(string sql, object parameters) { return GetDateTime(sql, this.GetParameters(parameters)); @@ -676,6 +774,32 @@ namespace SqlSugar return GetDateTime(sql, parameters.ToArray()); } } + + + + + public virtual Task GetDateTimeAsync(string sql, object parameters) + { + return GetDateTimeAsync(sql, this.GetParameters(parameters)); + } + public virtual async Task GetDateTimeAsync(string sql, params SugarParameter[] parameters) + { + var list = await GetScalarAsync(sql, parameters); + return list.ObjToDate(); + } + public virtual Task GetDateTimeAsync(string sql, List parameters) + { + if (parameters == null) + { + return GetDateTimeAsync(sql); + } + else + { + return GetDateTimeAsync(sql, parameters.ToArray()); + } + } + + public virtual List SqlQuery(string sql, object parameters = null) { var sugarParameters = this.GetParameters(parameters); @@ -713,7 +837,6 @@ namespace SqlSugar } return result; } - public virtual List SqlQuery(string sql, List parameters) { if (parameters != null) @@ -725,6 +848,7 @@ namespace SqlSugar return SqlQuery(sql); } } + public virtual Task> SqlQueryAsync(string sql, object parameters = null) { var sugarParameters = this.GetParameters(parameters); @@ -774,6 +898,7 @@ namespace SqlSugar return SqlQueryAsync(sql); } } + public Tuple, List> SqlQuery(string sql, object parameters = null) { var parsmeterArray = this.GetParameters(parameters); @@ -1199,21 +1324,26 @@ namespace SqlSugar var result = SqlQuery(sql, parameters); return result == null ? default(T) : result.FirstOrDefault(); } - public virtual dynamic SqlQueryDynamic(string sql, object parameters = null) + + + public virtual async Task SqlQuerySingleAsync(string sql, object parameters = null) { - var dt = this.GetDataTable(sql, parameters); - return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); + var result =await SqlQueryAsync(sql, parameters); + return result == null ? default(T) : result.FirstOrDefault(); } - public virtual dynamic SqlQueryDynamic(string sql, params SugarParameter[] parameters) + public virtual async Task SqlQuerySingleAsync(string sql, params SugarParameter[] parameters) { - var dt = this.GetDataTable(sql, parameters); - return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); + var result =await SqlQueryAsync(sql, parameters); + return result == null ? default(T) : result.FirstOrDefault(); } - public dynamic SqlQueryDynamic(string sql, List parameters) + public virtual async Task SqlQuerySingleAsync(string sql, List parameters) { - var dt = this.GetDataTable(sql, parameters); - return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); + var result =await SqlQueryAsync(sql, parameters); + return result == null ? default(T) : result.FirstOrDefault(); } + + + public virtual DataTable GetDataTable(string sql, params SugarParameter[] parameters) { var ds = GetDataSetAll(sql, parameters); @@ -1235,6 +1365,31 @@ namespace SqlSugar return GetDataTable(sql, parameters.ToArray()); } } + + + public virtual async Task GetDataTableAsync(string sql, params SugarParameter[] parameters) + { + var ds =await GetDataSetAllAsync(sql, parameters); + if (ds.Tables.Count != 0 && ds.Tables.Count > 0) return ds.Tables[0]; + return new DataTable(); + } + public virtual Task GetDataTableAsync(string sql, object parameters) + { + return GetDataTableAsync(sql, this.GetParameters(parameters)); + } + public virtual Task GetDataTableAsync(string sql, List parameters) + { + if (parameters == null) + { + return GetDataTableAsync(sql); + } + else + { + return GetDataTableAsync(sql, parameters.ToArray()); + } + } + + public virtual DataSet GetDataSetAll(string sql, object parameters) { return GetDataSetAll(sql, this.GetParameters(parameters)); @@ -1250,6 +1405,26 @@ namespace SqlSugar return GetDataSetAll(sql, parameters.ToArray()); } } + + public virtual Task GetDataSetAllAsync(string sql, object parameters) + { + return GetDataSetAllAsync(sql, this.GetParameters(parameters)); + } + public virtual Task GetDataSetAllAsync(string sql, List parameters) + { + if (parameters == null) + { + return GetDataSetAllAsync(sql); + } + else + { + return GetDataSetAllAsync(sql, parameters.ToArray()); + } + } + + + + public virtual IDataReader GetDataReader(string sql, object parameters) { return GetDataReader(sql, this.GetParameters(parameters)); @@ -1536,5 +1711,26 @@ namespace SqlSugar } } #endregion + + #region Obsolete + [Obsolete] + public virtual dynamic SqlQueryDynamic(string sql, object parameters = null) + { + var dt = this.GetDataTable(sql, parameters); + return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); + } + [Obsolete] + public virtual dynamic SqlQueryDynamic(string sql, params SugarParameter[] parameters) + { + var dt = this.GetDataTable(sql, parameters); + return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); + } + [Obsolete] + public dynamic SqlQueryDynamic(string sql, List parameters) + { + var dt = this.GetDataTable(sql, parameters); + return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); + } + #endregion } } diff --git a/Src/Asp.Net/SqlSugar/Interface/IAdo.cs b/Src/Asp.Net/SqlSugar/Interface/IAdo.cs index 5cf523e09..15fb97d0a 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IAdo.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IAdo.cs @@ -33,17 +33,29 @@ namespace SqlSugar 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); @@ -68,17 +80,44 @@ namespace SqlSugar 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); - Task GetIntAsync(string sql, params SugarParameter[] parameters); 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); + + Task GetLongAsync(string sql, object pars); + + 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); @@ -89,6 +128,7 @@ namespace SqlSugar 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); @@ -107,9 +147,12 @@ namespace SqlSugar T SqlQuerySingle(string sql, object whereObj = null); T SqlQuerySingle(string sql, params SugarParameter[] parameters); T SqlQuerySingle(string sql, List parameters); - dynamic SqlQueryDynamic(string sql, object whereObj = null); - dynamic SqlQueryDynamic(string sql, params SugarParameter[] parameters); - dynamic SqlQueryDynamic(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(); @@ -126,9 +169,21 @@ namespace SqlSugar DbResult UseTran(Func action, Action errorCallBack = null); Task> UseTranAsync(Action action, Action errorCallBack = null); Task> UseTranAsync(Func action, Action errorCallBack = null); - - void UseStoredProcedure(Action action); - T UseStoredProcedure(Func action); 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 } }