diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/FastestProvider/Private.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/FastestProvider/Private.cs index c79a70b42..bfdbecf39 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/FastestProvider/Private.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/FastestProvider/Private.cs @@ -20,7 +20,7 @@ namespace SqlSugar case DbType.Sqlite: break; case DbType.Oracle: - return new OracleFastBuilder(); + return new OracleFastBuilder(this.entityInfo); case DbType.PostgreSQL: return new PostgreSQLFastBuilder(this.entityInfo); case DbType.Dm: diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs index e369ab217..505f95a39 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs @@ -10,6 +10,13 @@ namespace SqlSugar { public class OracleFastBuilder : FastBuilder, IFastBuilder { + private EntityInfo entityInfo; + + public OracleFastBuilder(EntityInfo entityInfo) + { + this.entityInfo = entityInfo; + } + public override string UpdateSql { get; set; } = "UPDATE (SELECT A.NAME ANAME,B.NAME BNAME FROM A,B WHERE A.ID=B.ID)SET ANAME = BNAME;"; public override async Task CreateTempAsync(DataTable dt) { @@ -51,6 +58,11 @@ namespace SqlSugar } public Task ExecuteBulkCopyAsync(DataTable dt) { + var identityColumnInfo = this.entityInfo.Columns.FirstOrDefault(it => it.IsIdentity); + if (identityColumnInfo != null) + { + throw new Exception("Oracle bulkcopy no support identity"); + } OracleBulkCopy copy = GetBulkCopyInstance(); try {