Update pgsql update.join

This commit is contained in:
sunkaixuan 2024-07-04 00:09:57 +08:00
parent 1e2d26207d
commit ae7b7d88d8
2 changed files with 4 additions and 3 deletions

View File

@ -39,6 +39,7 @@ namespace SqlSugar
var SqlBuilder = UpdateBuilder.Builder;
foreach (var item in items)
{
updateableObj.UpdateBuilder.LambdaExpressions.IsSingle = false;
var dbColumnName = updateableObj.UpdateBuilder.Context.EntityMaintenance.GetDbColumnName<T>(item.Key);
var value = updateableObj.UpdateBuilder.GetExpressionValue(ExpressionTool.RemoveConvert(item.Value), ResolveExpressType.WhereMultiple).GetString();
this.updateableObj.UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(dbColumnName, value));

View File

@ -239,7 +239,7 @@ namespace SqlSugar
{
if (this.JoinInfos?.Count > 1)
{
return this.GetJoinUpdateMany(columnsString);
return this.GetJoinUpdateMany(columnsString,whereString);
}
var formString = $" {Builder.GetTranslationColumnName(this.TableName)} AS {Builder.GetTranslationColumnName(this.ShortName)} ";
var joinString = "";
@ -252,7 +252,7 @@ namespace SqlSugar
columnsString = columnsString.Replace(Builder.GetTranslationColumnName(this.ShortName)+".","")+joinString;
return string.Format(SqlTemplate, tableName, columnsString, whereString);
}
private string GetJoinUpdateMany(string columnsString)
private string GetJoinUpdateMany(string columnsString,string where)
{
var formString = $" {Builder.GetTranslationColumnName(this.TableName)} AS {Builder.GetTranslationColumnName(this.ShortName)} ";
var joinString = "";
@ -266,7 +266,7 @@ namespace SqlSugar
}
var tableName = Builder.GetTranslationColumnName(this.TableName) + "\r\n ";
columnsString = columnsString.Replace(Builder.GetTranslationColumnName(this.ShortName) + ".", "") + $" FROM {Builder.GetTranslationColumnName(this.TableName)} {Builder.GetTranslationColumnName(this.ShortName)}\r\n " + joinString;
return string.Format(SqlTemplate, tableName, columnsString, null);
return string.Format(SqlTemplate, tableName, columnsString, where);
}
public override string FormatDateTimeOffset(object value)
{