From 2fe32a1a25e4949aedce9255174153f7de85b796 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 21 Mar 2024 03:24:21 +0800 Subject: [PATCH] Support QuestDb bulkCopy --- .../QuestDB/SqlBuilder/QuestDBFastBuilder.cs | 30 +++---------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/SqlBuilder/QuestDBFastBuilder.cs b/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/SqlBuilder/QuestDBFastBuilder.cs index 21c781187..612f76193 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/SqlBuilder/QuestDBFastBuilder.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/SqlBuilder/QuestDBFastBuilder.cs @@ -33,32 +33,10 @@ namespace SqlSugar //} public async Task ExecuteBulkCopyAsync(DataTable dt) { - List lsColNames = new List(); - for (int i = 0; i < dt.Columns.Count; i++) - { - lsColNames.Add($"\"{dt.Columns[i].ColumnName}\""); - } - string copyString = $"COPY {dt.TableName} ( {string.Join(",", lsColNames) } ) FROM STDIN (FORMAT BINARY)"; - NpgsqlConnection conn = (NpgsqlConnection)this.Context.Ado.Connection; - var columns = this.Context.DbMaintenance.GetColumnInfosByTableName(this.entityInfo.DbTableName); - try - { - var identityColumnInfo = this.entityInfo.Columns.FirstOrDefault(it => it.IsIdentity); - if (identityColumnInfo != null) - { - throw new Exception("PgSql bulkcopy no support identity"); - } - BulkCopy(dt, copyString, conn, columns); - } - catch (Exception ex) - { - throw ex; - } - finally - { - base.CloseDb(); - } - return await Task.FromResult(dt.Rows.Count); + Check.ExceptionEasy( + "Nuget install: SqlSugar.QuestDb.RestAPI, use: await db.RestApi().BulkCopyAsync(list)", + "Nuget安装:SqlSugar.QuestDb.RestAPI ,QuestDb中请使用:await db.RestApi().BulkCopyAsync(list) 注意是db.RestApi()不是db.Fastest"); + return await Task.FromResult(0); } private void BulkCopy(DataTable dt, string copyString, NpgsqlConnection conn, List columns)