Update mysql

This commit is contained in:
sunkaixuan
2023-05-07 18:38:26 +08:00
parent a1cde58b88
commit d0955ad99f
2 changed files with 29 additions and 1 deletions

View File

@@ -424,7 +424,7 @@ namespace SqlSugar
{ {
return LambdaExpressions.DbMehtods.GetDate(); return LambdaExpressions.DbMehtods.GetDate();
} }
else if (this.ReSetValueBySqlExpListType!=null&&this.ReSetValueBySqlExpList != null && this.ReSetValueBySqlExpList.ContainsKey(columnInfo.PropertyName)) else if (IsListSetExp(columnInfo)|| IsSingleSetExp(columnInfo))
{ {
return this.ReSetValueBySqlExpList[columnInfo.PropertyName].Sql; return this.ReSetValueBySqlExpList[columnInfo.PropertyName].Sql;
} }
@@ -486,6 +486,17 @@ namespace SqlSugar
return name + ""; return name + "";
} }
} }
private bool IsSingleSetExp(DbColumnInfo columnInfo)
{
return this.ReSetValueBySqlExpList != null &&
this.ReSetValueBySqlExpList.ContainsKey(columnInfo.PropertyName) &&
this.IsListUpdate == null&&
DbColumnInfoList.GroupBy(it => it.TableId).Count()==1;
}
private bool IsListSetExp(DbColumnInfo columnInfo)
{
return this.ReSetValueBySqlExpListType != null && this.ReSetValueBySqlExpList != null && this.ReSetValueBySqlExpList.ContainsKey(columnInfo.PropertyName);
}
//public virtual string GetDbColumn(DbColumnInfo columnInfo, string name) //public virtual string GetDbColumn(DbColumnInfo columnInfo, string name)
//{ //{
// if (columnInfo.UpdateServerTime) // if (columnInfo.UpdateServerTime)

View File

@@ -97,8 +97,25 @@ namespace SqlSugar
batchUpdateSql.Replace("${0}",format); batchUpdateSql.Replace("${0}",format);
batchUpdateSql.Append(";"); batchUpdateSql.Append(";");
} }
batchUpdateSql = GetBatchUpdateSql(batchUpdateSql);
return batchUpdateSql.ToString(); return batchUpdateSql.ToString();
} }
private StringBuilder GetBatchUpdateSql(StringBuilder batchUpdateSql)
{
if (ReSetValueBySqlExpListType == null && ReSetValueBySqlExpList != null)
{
var result = batchUpdateSql.ToString();
foreach (var item in ReSetValueBySqlExpList)
{
var dbColumnName = item.Value.DbColumnName;
result = result.Replace($"T.{dbColumnName}", item.Value.Sql.Replace(dbColumnName, "S." + dbColumnName));
batchUpdateSql = new StringBuilder(result);
}
}
return batchUpdateSql;
}
int i = 0; int i = 0;
public object FormatValue(object value,string name) public object FormatValue(object value,string name)
{ {