This commit is contained in:
sunkaixuan
2017-05-01 23:56:45 +08:00
parent f86f2127c5
commit b14c75f21e
2 changed files with 25 additions and 9 deletions

View File

@@ -70,15 +70,21 @@ namespace SqlSugar
private void PreToSql()
{
#region Identities
List<string> 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<string> 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

View File

@@ -15,6 +15,16 @@ namespace SqlSugar
/// </summary>
public partial class SqlSugarClient : SqlSugarAccessory, IDisposable
{
#region Properties
public bool IsSystemTablesConfig
{
get
{
return this.CurrentConnectionConfig is SystemTablesConfig;
}
}
#endregion
#region constructor
/// <summary>
/// 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<T>();
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();