diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs index b3397bb53..650fb596c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs @@ -336,7 +336,7 @@ namespace SqlSugar sql = FormatSql(sql); SetConnectionStart(sql); if (this.ProcessingEventStartingSQL != null) - ExecuteProcessingSQL(ref sql, parameters); + ExecuteProcessingSQL(ref sql,ref parameters); ExecuteBefore(sql, parameters); IDbCommand sqlCommand = GetCommand(sql, parameters); int count = sqlCommand.ExecuteNonQuery(); @@ -369,7 +369,7 @@ namespace SqlSugar SetConnectionStart(sql); var isSp = this.CommandType == CommandType.StoredProcedure; if (this.ProcessingEventStartingSQL != null) - ExecuteProcessingSQL(ref sql, parameters); + ExecuteProcessingSQL(ref sql,ref parameters); ExecuteBefore(sql, parameters); IDbCommand sqlCommand = GetCommand(sql, parameters); IDataReader sqlDataReader = sqlCommand.ExecuteReader(this.IsAutoClose() ? CommandBehavior.CloseConnection : CommandBehavior.Default); @@ -400,7 +400,7 @@ namespace SqlSugar sql = FormatSql(sql); SetConnectionStart(sql); if (this.ProcessingEventStartingSQL != null) - ExecuteProcessingSQL(ref sql, parameters); + ExecuteProcessingSQL(ref sql,ref parameters); ExecuteBefore(sql, parameters); IDataAdapter dataAdapter = this.GetAdapter(); DbCommand sqlCommand = GetCommand(sql, parameters); @@ -435,7 +435,7 @@ namespace SqlSugar sql = FormatSql(sql); SetConnectionStart(sql); if (this.ProcessingEventStartingSQL != null) - ExecuteProcessingSQL(ref sql, parameters); + ExecuteProcessingSQL(ref sql,ref parameters); ExecuteBefore(sql, parameters); IDbCommand sqlCommand = GetCommand(sql, parameters); object scalar = sqlCommand.ExecuteScalar(); @@ -470,7 +470,7 @@ namespace SqlSugar sql = FormatSql(sql); SetConnectionStart(sql); if (this.ProcessingEventStartingSQL != null) - ExecuteProcessingSQL(ref sql, parameters); + ExecuteProcessingSQL(ref sql,ref parameters); ExecuteBefore(sql, parameters); var sqlCommand = GetCommand(sql, parameters); int count; @@ -508,7 +508,7 @@ namespace SqlSugar SetConnectionStart(sql); var isSp = this.CommandType == CommandType.StoredProcedure; if (this.ProcessingEventStartingSQL != null) - ExecuteProcessingSQL(ref sql, parameters); + ExecuteProcessingSQL(ref sql,ref parameters); ExecuteBefore(sql, parameters); var sqlCommand = GetCommand(sql, parameters); DbDataReader sqlDataReader; @@ -544,7 +544,7 @@ namespace SqlSugar sql = FormatSql(sql); SetConnectionStart(sql); if (this.ProcessingEventStartingSQL != null) - ExecuteProcessingSQL(ref sql, parameters); + ExecuteProcessingSQL(ref sql,ref parameters); ExecuteBefore(sql, parameters); var sqlCommand = GetCommand(sql, parameters); object scalar; @@ -1272,7 +1272,7 @@ namespace SqlSugar } } - protected void ExecuteProcessingSQL(ref string sql, SugarParameter[] parameters) + protected void ExecuteProcessingSQL(ref string sql,ref SugarParameter[] parameters) { var result = this.ProcessingEventStartingSQL(sql, parameters); sql = result.Key; diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index b47251ff1..9ebefee4c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -897,7 +897,8 @@ namespace SqlSugar { var splitColumn = this.EntityInfo.Columns.FirstOrDefault(it => it.PropertyInfo.GetCustomAttribute() != null); var columnName = this.SqlBuilder.GetTranslationColumnName(splitColumn.DbColumnName); - return this.Where($" {columnName}>=@spBeginTime AND {columnName}<= @spEndTime",new { spBeginTime = beginTime , spEndTime = endTime}).SplitTable(tas => { + var sqlParameterKeyWord = this.SqlBuilder.SqlParameterKeyWord; + return this.Where($" {columnName}>={sqlParameterKeyWord}spBeginTime AND {columnName}<= {sqlParameterKeyWord}spEndTime",new { spBeginTime = beginTime , spEndTime = endTime}).SplitTable(tas => { var dateNull = DateTime.MinValue; var min = tas.Where(it => it.Date <= beginTime.Date).Select(it=>it.Date).OrderByDescending(it=>it.Date).FirstOrDefault(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/DataTableExtensions.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/DataTableExtensions.cs index 555c24fbe..2a74d7300 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/DataTableExtensions.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/DataTableExtensions.cs @@ -82,7 +82,11 @@ namespace SqlSugar var arr = new List(); var cols = new List(); - String rowName = ((MemberExpression)rowSelector.Body).Member.Name; + var rowName = ""; + if (rowSelector.Body is MemberExpression) + rowName = ((MemberExpression)rowSelector.Body).Member.Name; + else + rowName = string.Join(UtilConstants.ReplaceKey, ((NewExpression)rowSelector.Body).Arguments.Select(it => it as MemberExpression).Select(it => it.Member.Name)); var columns = source.Select(columnSelector).Distinct(); cols = (new[] { rowName }).Concat(columns.Select(x => x.ToString())).ToList();