diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs index b482a77fd..86f0c1e76 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs @@ -32,6 +32,7 @@ namespace SqlSugar public List PrimaryKeys { get; set; } public bool IsOffIdentity { get; set; } public bool IsWhereColumns { get; set; } + public bool? IsListUpdate { get; set; } public virtual string SqlTemplate { @@ -112,6 +113,7 @@ namespace SqlSugar } } + public virtual ExpressionResult GetExpressionValue(Expression expression, ResolveExpressType resolveType, bool isMapping = true) { ILambdaExpressions resolveExpress = this.LambdaExpressions; @@ -156,7 +158,7 @@ namespace SqlSugar } var groupList = DbColumnInfoList.GroupBy(it => it.TableId).ToList(); var isSingle = groupList.Count() == 1; - if (isSingle) + if (isSingle&&this.IsListUpdate==null) { return ToSingleSqlString(groupList); } diff --git a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs index 1cc1e5016..daaf5b60b 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs @@ -684,7 +684,9 @@ namespace SqlSugar { UpdateObjs = new List(); } - return Updateable(UpdateObjs.ToArray()); + var result= (UpdateableProvider)Updateable(UpdateObjs.ToArray()); + result.UpdateBuilder.IsListUpdate = true; + return result; } public virtual IUpdateable Updateable(T UpdateObj) where T : class, new() {