diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs index 237ccac0d..77614e770 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs @@ -216,6 +216,7 @@ namespace SqlSugar this.Context.Updateable(dt) .AS(tableName) .Where($"{columnInfo.DbColumnName} is null ").ExecuteCommand(); + columnInfo.IsNullable = false; UpdateColumn(tableName, columnInfo); } return true; diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubSelect.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubSelect.cs index 57ffec84f..561cd79dc 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubSelect.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubSelect.cs @@ -62,7 +62,7 @@ namespace SqlSugar public void SetShortName(MethodCallExpression exp, string result) { - if (exp.Arguments[0] is LambdaExpression && result.IsContainsIn("+", "-")) + if (exp.Arguments[0] is LambdaExpression && result.IsContainsIn("+", "-","*","/")) { var parameters = (exp.Arguments[0] as LambdaExpression).Parameters; if (parameters != null && parameters.Count > 0) @@ -74,7 +74,7 @@ namespace SqlSugar } public void SetShortNameNext(MethodCallExpression exp, string result) { - if (exp.Arguments.Count>1&&exp.Arguments[1] is LambdaExpression && result.IsContainsIn("+", "-")) + if (exp.Arguments.Count>1&&exp.Arguments[1] is LambdaExpression && result.IsContainsIn("+", "-", "*", "/")) { var parameters = (exp.Arguments[1] as LambdaExpression).Parameters; if (parameters != null && parameters.Count > 0) diff --git a/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs b/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs index 7c8017606..cd112429f 100644 --- a/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs @@ -757,6 +757,7 @@ namespace SqlSugar { // ConditionalType = (ConditionalType)Convert.ToInt32(), FieldName = item["FieldName"] + "", + CSharpTypeName = item["CSharpTypeName"] ==null?null: item["CSharpTypeName"].ObjToString(), FieldValue = item["FieldValue"].Value()==null?null: item["FieldValue"].ToString() }; if (typeValue.IsInt()) @@ -795,6 +796,7 @@ namespace SqlSugar { ConditionalType = (ConditionalType)Convert.ToInt32(value["ConditionalType"].Value()), FieldName = value["FieldName"] + "", + CSharpTypeName= value["CSharpTypeName"]==null?null : value["CSharpTypeName"].ObjToString(), FieldValue = value["FieldValue"].Value() == null ? null : value["FieldValue"].ToString() }; } diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs index 4ce4d9220..da41e6930 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs @@ -20,7 +20,7 @@ namespace SqlSugar try { var mySqlConnectionString = base.Context.CurrentConnectionConfig.ConnectionString; - if (!mySqlConnectionString.ToLower().Contains("charset")) + if (!mySqlConnectionString.ToLower().Contains("charset")&& !mySqlConnectionString.ToLower().Contains("character")) { mySqlConnectionString = mySqlConnectionString.Trim().TrimEnd(';') + ";charset=utf8;"; } diff --git a/Src/Asp.NetCore2/SqlSugar/SqlSugarClient.cs b/Src/Asp.NetCore2/SqlSugar/SqlSugarClient.cs index b81fd5cc6..767aee07a 100644 --- a/Src/Asp.NetCore2/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.NetCore2/SqlSugar/SqlSugarClient.cs @@ -347,9 +347,9 @@ namespace SqlSugar var result= this.Context.Queryable(queryable); var QueryBuilder = queryable.QueryBuilder; result.QueryBuilder.IsQueryInQuery = true; - result.QueryBuilder.WhereIndex = QueryBuilder.WhereIndex++; - result.QueryBuilder.LambdaExpressions.ParameterIndex = QueryBuilder.LambdaExpressions.ParameterIndex++; - result.QueryBuilder.LambdaExpressions.Index = QueryBuilder.LambdaExpressions.Index++; + var appendIndex = result.QueryBuilder.Parameters==null?1:result.QueryBuilder.Parameters.Count+1; + result.QueryBuilder.WhereIndex = (QueryBuilder.WhereIndex+1); + result.QueryBuilder.LambdaExpressions.ParameterIndex = (QueryBuilder.LambdaExpressions.ParameterIndex+ appendIndex); return result; }