diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs index 9fc44eeb6..91df27162 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs @@ -138,7 +138,18 @@ namespace SqlSugar } primaryKeyValues.Add(value); } - if (primaryKeyValues.Count < 10000) + if (this.Context.CurrentConnectionConfig.DbType==DbType.Oracle &&primaryKeyValues.Count >= 1000) + { + List inItems = new List(); + this.Context.Utilities.PageEach(primaryKeyValues, 999, pageItems => + { + var inValueString = pageItems.ToArray().ToJoinSqlInVals(); + var whereItem= string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString); + inItems.Add(whereItem); + }); + Where($"({string.Join(" OR ", inItems)})"); + } + else if (primaryKeyValues.Count < 10000) { var inValueString = primaryKeyValues.ToArray().ToJoinSqlInVals(); Where(string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString)); diff --git a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec index bc8c4956f..a09caca82 100644 --- a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ SqlSugarCore - 5.1.4.147-preview03 + 5.1.4.147-preview04 sunkaixuan 果糖大数据科技 http://www.apache.org/licenses/LICENSE-2.0.html