diff --git a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs index 5ffefd8c3..f29ef2bea 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs @@ -108,8 +108,9 @@ namespace SqlSugar } else if (isIdEntity && this.InsertBuilder.ConvertInsertReturnIdFunc != null) { - string sql = _ExecuteCommand(); + InsertBuilder.IsReturnPkList = true; InsertBuilder.IsNoPage = true; + string sql = _ExecuteCommand(); sql = this.InsertBuilder.ConvertInsertReturnIdFunc(SqlBuilder.GetTranslationColumnName(pkInfo.DbColumnName),sql); var result = Ado.SqlQuery(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()); After(sql, null); diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs index ab2c9be5d..95650d075 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs @@ -31,6 +31,7 @@ namespace SqlSugar public Dictionary OracleSeqInfoList { get; set; } public bool IsBlukCopy { get; set; } public virtual bool IsOleDb { get; set; } + public virtual bool IsReturnPkList { get; set; } #endregion #region SqlTemplate diff --git a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerInsertBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerInsertBuilder.cs index a7a3708b3..0c65fb23a 100644 --- a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerInsertBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerInsertBuilder.cs @@ -39,12 +39,9 @@ namespace SqlSugar { pageSize = 100; } - if (IsNoPage) + if (IsNoPage && IsReturnPkList) { - if(this.EntityInfo.Columns.Any(it => it.IsIdentity)) - { - pageSize = groupList.Count; - } + pageSize = groupList.Count; } int pageIndex = 1; int totalRecord = groupList.Count;