Update Oracle

This commit is contained in:
sunkaixuna
2021-08-07 04:40:13 +08:00
parent 987b2a78fb
commit 1800053c30
3 changed files with 30 additions and 27 deletions

View File

@@ -222,32 +222,6 @@ namespace SqlSugar
After(sql, result); After(sql, result);
return 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 #endregion
@@ -353,6 +327,34 @@ namespace SqlSugar
result.Inserts=this.InsertObjs; result.Inserts=this.InsertObjs;
return 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;
InsertBuilder.IsBlukCopy = true;
return result;
}
public IInsertable<T> EnableDiffLogEvent(object businessData = null) public IInsertable<T> EnableDiffLogEvent(object businessData = null)
{ {

View File

@@ -29,6 +29,7 @@ namespace SqlSugar
public bool IsReturnIdentity { get; set; } public bool IsReturnIdentity { get; set; }
public EntityInfo EntityInfo { get; set; } public EntityInfo EntityInfo { get; set; }
public Dictionary<string, int> OracleSeqInfoList { get; set; } public Dictionary<string, int> OracleSeqInfoList { get; set; }
public bool IsBlukCopy { get; set; }
#endregion #endregion
#region SqlTemplate #region SqlTemplate

View File

@@ -122,7 +122,7 @@ namespace SqlSugar
var identities = GetSeqNames(); var identities = GetSeqNames();
var insertCount = InsertObjs.Count(); var insertCount = InsertObjs.Count();
InsertBuilder.OracleSeqInfoList = new Dictionary<string, int>(); InsertBuilder.OracleSeqInfoList = new Dictionary<string, int>();
if (identities.HasValue() && insertCount > 1) if ((identities.HasValue() && insertCount > 1)|| InsertBuilder.IsBlukCopy)
{ {
Check.Exception(identities.Count != identities.Distinct().Count(), "The field sequence needs to be unique"); Check.Exception(identities.Count != identities.Distinct().Count(), "The field sequence needs to be unique");
foreach (var seqName in identities) foreach (var seqName in identities)