Merge pull request #1554 from d4ilys/master

- 修复QuestDb BulkCopy在实体类指定别名情况下无法解析表名问题
This commit is contained in:
2881099 2023-06-28 11:43:38 +08:00 committed by GitHub
commit ade2e2af11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -171,9 +171,9 @@ public static partial class QuestDbGlobalExtensions
{ {
var client = QuestDbContainer.GetService<IHttpClientFactory>().CreateClient(); var client = QuestDbContainer.GetService<IHttpClientFactory>().CreateClient();
var boundary = "---------------" + DateTime.Now.Ticks.ToString("x"); var boundary = "---------------" + DateTime.Now.Ticks.ToString("x");
var name = insert.InternalTable.DbName; //获取表名
var list = new List<Hashtable>(); var list = new List<Hashtable>();
var insert = that as QuestDbInsert<T>; var insert = that as QuestDbInsert<T>;
var name = insert.InternalTable.DbName; //获取表名
insert.InternalOrm.DbFirst.GetTableByName(name).Columns.ForEach(d => insert.InternalOrm.DbFirst.GetTableByName(name).Columns.ForEach(d =>
{ {
if (d.DbTypeText == "TIMESTAMP") if (d.DbTypeText == "TIMESTAMP")
@ -215,7 +215,7 @@ public static partial class QuestDbGlobalExtensions
await client.PostAsync($"{RestAPIExtension.BaseUrl}/imp?name={name}", httpContent); await client.PostAsync($"{RestAPIExtension.BaseUrl}/imp?name={name}", httpContent);
var readAsStringAsync = await httpResponseMessage.Content.ReadAsStringAsync(); var readAsStringAsync = await httpResponseMessage.Content.ReadAsStringAsync();
var splitByLine = SplitByLine(readAsStringAsync); var splitByLine = SplitByLine(readAsStringAsync);
Console.WriteLine(readAsStringAsync); //Console.WriteLine(readAsStringAsync);
foreach (var s in splitByLine) foreach (var s in splitByLine)
{ {
if (s.Contains("Rows")) if (s.Contains("Rows"))
@ -252,7 +252,7 @@ public static partial class QuestDbGlobalExtensions
/// <returns></returns> /// <returns></returns>
public static int ExecuteBulkCopy<T>(this IInsert<T> insert) where T : class public static int ExecuteBulkCopy<T>(this IInsert<T> insert) where T : class
{ {
return ExecuteBulkCopyAsync(insert).GetAwaiter().GetResult(); return ExecuteBulkCopyAsync(insert).ConfigureAwait(false).GetAwaiter().GetResult();
} }
} }