diff --git a/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs b/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs index 623183e2a..9f513a5b2 100644 --- a/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs +++ b/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs @@ -70,15 +70,21 @@ namespace SqlSugar private void PreToSql() { #region Identities - List identities = Db.DbMaintenance.GetIsIdentities(this.InsertBuilder.TableName); - if (identities != null && identities.Any()) + if (this.Context.IsSystemTablesConfig) { - var currentIgnoreColumns = this.Context.IgnoreColumns.Where(it => it.EntityName == this.EntityInfo.Name).ToList(); - this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => + List identities = Db.DbMaintenance.GetIsIdentities(this.InsertBuilder.TableName); + if (identities != null && identities.Any()) { - return !identities.Any(i => it.ColumnName.Equals(i, StringComparison.CurrentCultureIgnoreCase)); - }).ToList(); - } + var currentIgnoreColumns = this.Context.IgnoreColumns.Where(it => it.EntityName == this.EntityInfo.Name).ToList(); + this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => + { + return !identities.Any(i => it.ColumnName.Equals(i, StringComparison.CurrentCultureIgnoreCase)); + }).ToList(); + } + } + else { + + } #endregion #region IgnoreColumns diff --git a/SqlSugar/SqlSugarClient.cs b/SqlSugar/SqlSugarClient.cs index 22a4ed8c8..e3e6bf86e 100644 --- a/SqlSugar/SqlSugarClient.cs +++ b/SqlSugar/SqlSugarClient.cs @@ -15,6 +15,16 @@ namespace SqlSugar /// public partial class SqlSugarClient : SqlSugarAccessory, IDisposable { + #region Properties + public bool IsSystemTablesConfig + { + get + { + return this.CurrentConnectionConfig is SystemTablesConfig; + } + } + #endregion + #region constructor /// /// If you have system table permissions, use this @@ -110,7 +120,7 @@ namespace SqlSugar { base._RewritableMethods = value; } - } + } #endregion #region Queryable @@ -236,7 +246,7 @@ namespace SqlSugar reval.EntityInfo = this.EntityProvider.GetEntityInfo(); reval.SqlBuilder = sqlBuilder; reval.InsertObjs = insertObjs; - sqlBuilder.InsertBuilder =reval.InsertBuilder = InstanceFactory.GetInsertBuilder(base.CurrentConnectionConfig); + sqlBuilder.InsertBuilder = reval.InsertBuilder = InstanceFactory.GetInsertBuilder(base.CurrentConnectionConfig); sqlBuilder.InsertBuilder.Builder = sqlBuilder; sqlBuilder.Context = reval.SqlBuilder.InsertBuilder.Context = this; reval.Init();