From 9dd1272416f3478be3db946963ccf4c606924e33 Mon Sep 17 00:00:00 2001 From: Alex chow Date: Thu, 3 Jul 2025 23:46:03 +0200 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20ExecuteSqlBulkCopy()=20?= =?UTF-8?q?=E5=AF=B9=E4=BA=8E=E8=A1=A8=E5=90=8D=E6=9C=89=E7=A9=BA=E6=A0=BC?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=E5=A4=84=E7=90=86=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=20#2055?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ExecuteSqlBulkCopy() 对于表名 'tb topic' 有空格的情况拼接sql语句有错误,没正确添加 [tb topic] 中括号 #2055 如果 dt.TableName 包含空格并且前后没有[]符号, 则前后加上 [ ] 符号 --- Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs index b96e4b425..6263afbc7 100644 --- a/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs +++ b/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs @@ -82,7 +82,10 @@ public static partial class FreeSqlSqlServerGlobalExtensions { if (batchSize.HasValue) bulkCopy.BatchSize = batchSize.Value; if (bulkCopyTimeout.HasValue) bulkCopy.BulkCopyTimeout = bulkCopyTimeout.Value; - bulkCopy.DestinationTableName = dt.TableName; + bulkCopy.DestinationTableName = + dt.TableName.IndexOf(' ') >= 0 && !(dt.TableName.StartsWith("[") && dt.TableName.EndsWith("]")) + ? $"[{dt.TableName}]" + : dt.TableName; for (int i = 0; i < dt.Columns.Count; i++) bulkCopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); bulkCopy.WriteToServer(dt);