Synchronization code

This commit is contained in:
sunkaixuan 2024-01-24 17:00:02 +08:00
parent ba67c222b9
commit fd8acca66b

View File

@ -707,12 +707,23 @@ namespace SqlSugar
return SetColumns(filedNameExpression,(object)null);
}
var name = UpdateBuilder.GetExpressionValue(filedNameExpression, ResolveExpressType.FieldSingle).GetString();
//name = UpdateBuilder.Builder.GetNoTranslationColumnName(name);
var value = UpdateBuilder.GetExpressionValue(ExpressionTool.RemoveConvert(valueExpression), ResolveExpressType.WhereSingle).GetString();
name = UpdateBuilder.Builder.GetTranslationColumnName(name);
var exp = ExpressionTool.RemoveConvert((valueExpression as LambdaExpression).Body);
var value = UpdateBuilder.GetExpressionValue(exp, ResolveExpressType.WhereSingle).GetString();
value = $" {name}={value} ";
this.UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(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();
if (typeof(T) == UtilConstants.ObjType)
{
this.UpdateBuilder.DbColumnInfoList.Add(new DbColumnInfo()
{
DbColumnName = UpdateBuilder.Builder.GetNoTranslationColumnName(name),
Value = value,
PropertyName = name,
SqlParameterDbType = typeof(SqlSugar.DbConvert.NoParameterCommonPropertyConvert)
});
}
return this;
}
public IUpdateable<T> SetColumns(Expression<Func<T, object>> filedNameExpression, object fieldValue)