Commit d0d91b94 by wyc

Merge branch 'ORM' into develop

parents 0650f856 ddf312c5
using SqlSugar;
namespace Performance.Repository
{
public class InfraRepository
{
public static SqlSugarClient GetDbclient(string connectionString)
{
return new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = connectionString,
DbType = SqlSugar.DbType.MySql,
IsAutoCloseConnection = true
},
db =>
{
});
}
}
}
...@@ -6,8 +6,9 @@ ...@@ -6,8 +6,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Npgsql" Version="5.0.18" /> <PackageReference Include="Npgsql" Version="5.0.18" />
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="3.21.4" /> <PackageReference Include="Oracle.ManagedDataAccess.Core" Version="3.21.100" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.3" /> <PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
<PackageReference Include="SqlSugarCore" Version="5.1.4.170" />
</ItemGroup> </ItemGroup>
......
...@@ -10,9 +10,11 @@ ...@@ -10,9 +10,11 @@
using Performance.EntityModels; using Performance.EntityModels;
using Performance.Infrastructure; using Performance.Infrastructure;
using Performance.Infrastructure.Extensions; using Performance.Infrastructure.Extensions;
using Performance.Repository;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
...@@ -131,18 +133,24 @@ public List<ImportData> ReadSheetData(per_allot allot) ...@@ -131,18 +133,24 @@ public List<ImportData> ReadSheetData(per_allot allot)
try try
{ {
//var connectionString = _configuration.GetValue("AppConnection:PerformanceConnectionString", "");
//var tasks = new List<Task>();
//foreach (var sheetName in importDatas.Select(w => w.SheetName).Distinct())
//{
// var task = Task.Factory.StartNew(() =>
// {
// var items = importDatas.Where(w => w.SheetName == sheetName).ToList();
// DapperExtensions.BulkInsert(connectionString, items, tableName: "im_orig_data", commandTimeout: 60 * 60 * 5);
// });
// tasks.Add(task);
//}
//Task.WaitAll(tasks.ToArray());
var connectionString = _configuration.GetValue("AppConnection:PerformanceConnectionString", ""); var connectionString = _configuration.GetValue("AppConnection:PerformanceConnectionString", "");
var tasks = new List<Task>(); var db = InfraRepository.GetDbclient(connectionString);
foreach (var sheetName in importDatas.Select(w => w.SheetName).Distinct()) if (importDatas.Any())
{ {
var task = Task.Factory.StartNew(() => db.Fastest<ImportData>().AS("im_orig_data").PageSize(100000).BulkCopy(importDatas);
{
var items = importDatas.Where(w => w.SheetName == sheetName).ToList();
DapperExtensions.BulkInsert(connectionString, items, tableName: "im_orig_data", commandTimeout: 60 * 60 * 5);
});
tasks.Add(task);
} }
Task.WaitAll(tasks.ToArray());
_logManageService.WriteMsg("保存基础数据", $"基础数据保存完成!", 1, allot.ID, "ReceiveMessage", true); _logManageService.WriteMsg("保存基础数据", $"基础数据保存完成!", 1, allot.ID, "ReceiveMessage", true);
} }
catch (Exception ex) catch (Exception ex)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment