From c28b5287ee88bf1ee870e778acd82f34400ae827 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 26 Mar 2022 22:22:48 +0800 Subject: [PATCH] Update union all --- .../SugarProvider/SqlSugarProvider.cs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs index f9f5f5569..1ca60b783 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs @@ -520,9 +520,9 @@ namespace SqlSugar string sql = sqlObj.Key; UtilMethods.RepairReplicationParameters(ref sql, sqlObj.Value.ToArray(), i, "UnionAll"); if (sqlObj.Value.HasValue()) - allItems.Add(new KeyValuePair>($" ( {sql} ) ", sqlObj.Value)); + allItems.Add(new KeyValuePair>(GetUnionFomatSql(sql), sqlObj.Value)); else - allItems.Add(new KeyValuePair>($" ( {sql} ) ", new List())); + allItems.Add(new KeyValuePair>(GetUnionFomatSql(sql), new List())); i++; } var allSql = sqlBuilder.GetUnionAllSql(allItems.Select(it => it.Key).ToList()); @@ -557,9 +557,9 @@ namespace SqlSugar string sql = sqlObj.Key; UtilMethods.RepairReplicationParameters(ref sql, sqlObj.Value.ToArray(), i, "Union"); if (sqlObj.Value.HasValue()) - allItems.Add(new KeyValuePair>($" ( {sql} ) ", sqlObj.Value)); + allItems.Add(new KeyValuePair>(GetUnionFomatSql(sql), sqlObj.Value)); else - allItems.Add(new KeyValuePair>($" ( {sql} ) ", new List())); + allItems.Add(new KeyValuePair>(GetUnionFomatSql(sql), new List())); i++; } var allSql = sqlBuilder.GetUnionSql(allItems.Select(it => it.Key).ToList()); @@ -580,6 +580,17 @@ namespace SqlSugar Check.Exception(queryables.IsNullOrEmpty(), "Union.queryables is null "); return Union(queryables.ToArray()); } + private string GetUnionFomatSql(string sql) + { + if (this.CurrentConnectionConfig.DbType == DbType.Access) + { + return sql; + } + else + { + return $" ( {sql} ) "; + } + } #endregion #region SqlQueryable