From bc6d06ad1db4a11b660c4bb15f47d4b588a0a9be Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 24 Jan 2024 14:36:27 +0800 Subject: [PATCH] Update db.Updateable(exp,exp) --- .../UpdateProvider/UpdateableProvider.cs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs index d9284f215..c086ebb4e 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs @@ -707,17 +707,13 @@ namespace SqlSugar return SetColumns(filedNameExpression,(object)null); } var name = UpdateBuilder.GetExpressionValue(filedNameExpression, ResolveExpressType.FieldSingle).GetString(); - name = UpdateBuilder.Builder.GetNoTranslationColumnName(name); - var value = UpdateBuilder.GetExpressionValue(valueExpression, ResolveExpressType.FieldSingle).GetString(); - this.UpdateBuilder.DbColumnInfoList.Add(new DbColumnInfo() - { - DbColumnName = name, - Value = value, - PropertyName = name , - SqlParameterDbType=typeof(SqlSugar.DbConvert.NoParameterCommonPropertyConvert) - }); - this.UpdateBuilder.SetValues.Add(new KeyValuePair(name,value)); - return this; + //name = UpdateBuilder.Builder.GetNoTranslationColumnName(name); + var value = UpdateBuilder.GetExpressionValue(ExpressionTool.RemoveConvert(valueExpression), ResolveExpressType.WhereSingle).GetString(); + value = $" {name}={value} "; + this.UpdateBuilder.SetValues.Add(new KeyValuePair(name,value)); + this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => (UpdateParameterIsNull == false && IsPrimaryKey(it)) || UpdateBuilder.SetValues.Any(v => SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.DbColumnName, StringComparison.CurrentCultureIgnoreCase) || SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.PropertyName, StringComparison.CurrentCultureIgnoreCase)) || it.IsPrimarykey == true).ToList(); + AppendSets(); + return this; } public IUpdateable SetColumns(Expression> filedNameExpression, object fieldValue) {