diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertablePage.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertablePage.cs index b0d95498e..d87ebed60 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertablePage.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertablePage.cs @@ -15,6 +15,7 @@ namespace SqlSugar public List InsertColumns { get; internal set; } public bool IsEnableDiffLogEvent { get; internal set; } public DiffLogModel DiffModel { get; internal set; } + public bool IsOffIdentity { get; internal set; } public int ExecuteCommand() { @@ -33,7 +34,7 @@ namespace SqlSugar } this.Context.Utilities.PageEach(DataList, PageSize, pageItem => { - result += this.Context.Insertable(pageItem).AS(TableName).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommand(); + result += this.Context.Insertable(pageItem).AS(TableName).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommand(); }); if (isNoTran) { @@ -67,7 +68,7 @@ namespace SqlSugar } await this.Context.Utilities.PageEachAsync(DataList, PageSize, async pageItem => { - result +=await this.Context.Insertable(pageItem).AS(TableName).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommandAsync(); + result +=await this.Context.Insertable(pageItem).AS(TableName).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommandAsync(); }); if (isNoTran) { @@ -102,7 +103,7 @@ namespace SqlSugar } this.Context.Utilities.PageEach(DataList, PageSize, pageItem => { - result.AddRange(this.Context.Insertable(pageItem).AS(TableName).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteReturnSnowflakeIdList()); + result.AddRange(this.Context.Insertable(pageItem).AS(TableName).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteReturnSnowflakeIdList()); }); if (isNoTran) { @@ -136,7 +137,7 @@ namespace SqlSugar } await this.Context.Utilities.PageEachAsync(DataList, PageSize, async pageItem => { - result.AddRange(await this.Context.Insertable(pageItem).AS(TableName).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteReturnSnowflakeIdListAsync()); + result.AddRange(await this.Context.Insertable(pageItem).AS(TableName).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteReturnSnowflakeIdListAsync()); }); if (isNoTran) { diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs index 1fb3ddb0c..4cc0940d4 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs @@ -474,6 +474,7 @@ namespace SqlSugar result.TableName = this.InsertBuilder.AsName; result.IsEnableDiffLogEvent = this.IsEnableDiffLogEvent; result.DiffModel = this.diffModel; + result.IsOffIdentity = this.InsertBuilder.IsOffIdentity; if(this.InsertBuilder.DbColumnInfoList.Any()) result.InsertColumns = this.InsertBuilder.DbColumnInfoList.GroupBy(it => it.TableId).First().Select(it=>it.DbColumnName).ToList(); return result; @@ -538,6 +539,17 @@ namespace SqlSugar this.InsertBuilder.TableWithString = lockString; return this; } + public IInsertable OffIdentity(bool isSetOn) + { + if (isSetOn) + { + return this.OffIdentity(); + } + else + { + return this; + } + } public IInsertable OffIdentity() { this.IsOffIdentity = true; diff --git a/Src/Asp.NetCore2/SqlSugar/Interface/Insertable.cs b/Src/Asp.NetCore2/SqlSugar/Interface/Insertable.cs index 86a78b97b..c7a3930ea 100644 --- a/Src/Asp.NetCore2/SqlSugar/Interface/Insertable.cs +++ b/Src/Asp.NetCore2/SqlSugar/Interface/Insertable.cs @@ -62,6 +62,7 @@ namespace SqlSugar void AddQueue(); IInsertable MySqlIgnore(); IInsertable OffIdentity(); + IInsertable OffIdentity(bool isSetOn); InsertablePage PageSize(int pageSize); } }