Synchronization code

This commit is contained in:
sunkaixuan 2023-05-07 13:13:32 +08:00
parent 18ed9df3ee
commit 19c1f8ab7c
2 changed files with 22 additions and 1 deletions

View File

@ -7,6 +7,17 @@ namespace SqlSugar
{
public class DmUpdateBuilder : UpdateBuilder
{
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 USING {Builder.GetTranslationColumnName(item.TableName)} {Builder.GetTranslationColumnName(item.ShortName)} ON {item.JoinWhere} ";
}
var tableName = joinString + "\r\n ";
var newTemp = SqlTemplate.Replace("UPDATE", "MERGE INTO").Replace("SET", "WHEN MATCHED THEN \r\nUPDATE SET");
return string.Format(newTemp, tableName, columnsString, whereString);
}
protected override string TomultipleSqlString(List<IGrouping<int, DbColumnInfo>> groupList)
{
StringBuilder sb = new StringBuilder();

View File

@ -116,7 +116,17 @@ 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 USING {Builder.GetTranslationColumnName(item.TableName)} {Builder.GetTranslationColumnName(item.ShortName)} ON {item.JoinWhere} ";
}
var tableName = joinString + "\r\n ";
var newTemp = SqlTemplate.Replace("UPDATE", "MERGE INTO").Replace("SET", "WHEN MATCHED THEN \r\nUPDATE SET");
return string.Format(newTemp, tableName, columnsString, whereString);
}
#region Helper
public bool IsUppper
{