Update SetColumns

This commit is contained in:
sunkaixuan
2025-07-10 21:29:48 +08:00
parent e560531bdf
commit 53f73bb7e3

View File

@@ -721,10 +721,14 @@ namespace SqlSugar
public virtual IUpdateable<T> SetColumns(string fieldName, object fieldValue) public virtual IUpdateable<T> SetColumns(string fieldName, object fieldValue)
{ {
ThrowUpdateByObject(); ThrowUpdateByObject();
var isJson = false;
var isArray = false;
var columnInfo = this.EntityInfo.Columns.FirstOrDefault(it => it.PropertyName.EqualCase(fieldName)); var columnInfo = this.EntityInfo.Columns.FirstOrDefault(it => it.PropertyName.EqualCase(fieldName));
if (columnInfo != null) if (columnInfo != null)
{ {
fieldName = columnInfo.DbColumnName; fieldName = columnInfo.DbColumnName;
isJson = columnInfo.IsJson&&!(fieldValue is string);
isArray = columnInfo.IsArray&& !(fieldValue is string);
} }
var parameterName =this.SqlBuilder.SqlParameterKeyWord+ "Const" + this.UpdateBuilder.LambdaExpressions.ParameterIndex; var parameterName =this.SqlBuilder.SqlParameterKeyWord+ "Const" + this.UpdateBuilder.LambdaExpressions.ParameterIndex;
this.UpdateBuilder.LambdaExpressions.ParameterIndex = this.UpdateBuilder.LambdaExpressions.ParameterIndex+1; this.UpdateBuilder.LambdaExpressions.ParameterIndex = this.UpdateBuilder.LambdaExpressions.ParameterIndex+1;
@@ -747,10 +751,12 @@ namespace SqlSugar
{ {
this.UpdateBuilder.DbColumnInfoList.Add(new DbColumnInfo() this.UpdateBuilder.DbColumnInfoList.Add(new DbColumnInfo()
{ {
DbColumnName=fieldName, DbColumnName=fieldName,
Value=fieldValue, Value=fieldValue,
PropertyName=fieldName, PropertyName=fieldName,
PropertyType=fieldValue?.GetType() IsJson= isJson,
IsArray=isArray,
PropertyType =fieldValue?.GetType()
}); });
} }
AppendSets(); AppendSets();