From fd3844d86b84c0ca65d2ab6ccbf79eb54777020a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 24 Apr 2023 17:01:55 +0800 Subject: [PATCH] Synchronization code --- .../MySql/SqlBuilder/MySqlUpdateBuilder.cs | 10 ++++++++++ .../SqlBuilder/PostgreSQLUpdateBuilder.cs | 13 +++++++++++++ 2 files changed, 23 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs index 52ba8a269..8c6b6d0f8 100644 --- a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs @@ -26,6 +26,16 @@ namespace SqlSugar "; } } + protected override string GetJoinUpdate(string columnsString, ref string whereString) + { + var joinString = $" {Builder.GetTranslationColumnName(this.TableName)} {Builder.GetTranslationColumnName(this.ShortName)} "; + foreach (var item in this.JoinInfos) + { + joinString += $"\r\n JOIN {Builder.GetTranslationColumnName(item.TableName)} {Builder.GetTranslationColumnName(item.ShortName)} ON {item.JoinWhere} "; + } + var tableName = joinString+ "\r\n "; + return string.Format(SqlTemplate, tableName, columnsString, whereString); + } protected override string TomultipleSqlString(List> groupList) { Check.Exception(PrimaryKeys == null || PrimaryKeys.Count == 0, " Update List need Primary key"); diff --git a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs index 9c98baa96..bb5383ce2 100644 --- a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs @@ -200,5 +200,18 @@ namespace SqlSugar } return batchUpdateSql.ToString(); } + protected override string GetJoinUpdate(string columnsString, ref string whereString) + { + var formString = $" {Builder.GetTranslationColumnName(this.TableName)} AS {Builder.GetTranslationColumnName(this.ShortName)} "; + var joinString = ""; + foreach (var item in this.JoinInfos) + { + whereString += " AND "+item.JoinWhere; + joinString += $"\r\n FROM {Builder.GetTranslationColumnName(item.TableName)} {Builder.GetTranslationColumnName(item.ShortName)} "; + } + var tableName = formString + "\r\n "; + columnsString = columnsString.Replace(Builder.GetTranslationColumnName(this.ShortName)+".","")+joinString; + return string.Format(SqlTemplate, tableName, columnsString, whereString); + } } }