diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs index 7344420c2..4fed19ab1 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs @@ -255,7 +255,7 @@ namespace SqlSugar return setValue.First().Value; } } - var result = Builder.GetTranslationColumnName(it.DbColumnName) + "=" + this.Context.Ado.SqlParameterKeyWord + it.DbColumnName; + var result = Builder.GetTranslationColumnName(it.DbColumnName) + "=" + GetDbColumn(it,this.Context.Ado.SqlParameterKeyWord + it.DbColumnName); return result; })); string whereString = null; @@ -386,5 +386,36 @@ namespace SqlSugar var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value); return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'"; } + + public virtual string GetDbColumn(DbColumnInfo columnInfo, object name) + { + if (columnInfo.UpdateServerTime) + { + return LambdaExpressions.DbMehtods.GetDate(); + } + else if (columnInfo.UpdateSql.HasValue()) + { + return columnInfo.UpdateSql; + } + else + { + return name + ""; + } + } + public virtual string GetDbColumn(DbColumnInfo columnInfo, string name) + { + if (columnInfo.UpdateServerTime) + { + return LambdaExpressions.DbMehtods.GetDate(); + } + else if (columnInfo.UpdateSql.HasValue()) + { + return columnInfo.UpdateSql; + } + else + { + return name + ""; + } + } } } diff --git a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerUpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerUpdateBuilder.cs index fe7afb1d8..f8a51e124 100644 --- a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerUpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerUpdateBuilder.cs @@ -42,7 +42,7 @@ namespace SqlSugar { updateTable.Append(SqlTemplateBatchUnion); } - updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(base.SqlTemplateBatchSelect, GetValue(it), Builder.GetTranslationColumnName(it.DbColumnName))))); + updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(base.SqlTemplateBatchSelect,base.GetDbColumn(it,GetValue(it)), Builder.GetTranslationColumnName(it.DbColumnName))))); ++i; } pageIndex++;