Oracle Support blukCopy

This commit is contained in:
sunkaixuna
2021-08-07 03:32:32 +08:00
parent e8eb106e9b
commit c2268706ec
4 changed files with 60 additions and 0 deletions

View File

@@ -222,6 +222,33 @@ namespace SqlSugar
After(sql, result);
return result;
}
public OracleBlukCopy UseOracle()
{
PreToSql();
var currentType = this.Context.CurrentConnectionConfig.DbType;
Check.Exception(currentType != DbType.Oracle, "UseSqlServer no support " + currentType);
OracleBlukCopy result = new OracleBlukCopy();
result.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.GroupBy(it => it.TableId).ToList();
result.InsertBuilder = this.InsertBuilder;
result.Builder = this.SqlBuilder;
result.Context = this.Context;
result.Inserts = this.InsertObjs;
return result;
}
#endregion
#region Setting

View File

@@ -44,6 +44,7 @@ namespace SqlSugar
KeyValuePair<string, List<SugarParameter>> ToSql();
SqlServerBlukCopy UseSqlServer();
MySqlBlukCopy<T> UseMySql();
OracleBlukCopy UseOracle();
void AddQueue();
}

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SqlSugar
{
public class OracleBlukCopy
{
public List<IGrouping<int, DbColumnInfo>> DbColumnInfoList { get; set; }
public InsertBuilder InsertBuilder { get; set; }
public ISqlBuilder Builder { get; set; }
public SqlSugarProvider Context { get; set; }
public object[] Inserts { get; set; }
public int ExecuteBlueCopy()
{
throw new Exception("Only.net CORE is supported");
}
public async Task<int> ExecuteBlueCopyAsync()
{
await Task.Delay(0);
throw new Exception("Only.net CORE is supported");
}
}
}

View File

@@ -108,6 +108,7 @@
<Compile Include="ExpressionsToSql\Subquery\Items\SubLeftJoin.cs" />
<Compile Include="Interface\IReportable.cs" />
<Compile Include="Interface\IStorageable.cs" />
<Compile Include="OnlyNet\OracleBlukCopy.cs" />
<Compile Include="OnlyNet\Compatible.cs" />
<Compile Include="OnlyNet\KdbndpInserttable.cs" />
<Compile Include="Interface\ISubInsertable.cs" />