diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs index 11b96c592..e4c87b9d8 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs @@ -328,10 +328,11 @@ namespace SqlSugar private List GetColumnInfosByTableName(string tableName) { - var columns = GetColumnsByTableName2(tableName); + //var columns = GetColumnsByTableName2(tableName); string sql = "PRAGMA table_info(" +SqlBuilder.GetTranslationTableName(tableName) + ")"; var oldIsEnableLog = this.Context.Ado.IsEnableLogEvent; this.Context.Ado.IsEnableLogEvent = false; + var tableSript=this.Context.Ado.GetString($"SELECT sql FROM sqlite_master WHERE name='{tableName}' AND type='table'"); using (DbDataReader dataReader = (SqliteDataReader)this.Context.Ado.GetDataReader(sql)) { this.Context.Ado.IsEnableLogEvent = oldIsEnableLog; @@ -355,13 +356,13 @@ namespace SqlSugar } type = type.Split('(').First(); } - bool isIdentity = columns.FirstOrDefault(it => it.DbColumnName.Equals(dataReader.GetString(1),StringComparison.CurrentCultureIgnoreCase)).IsIdentity; + //bool isIdentity = columns.FirstOrDefault(it => it.DbColumnName.Equals(dataReader.GetString(1),StringComparison.CurrentCultureIgnoreCase)).IsIdentity; DbColumnInfo column = new DbColumnInfo() { TableName = this.SqlBuilder.GetNoTranslationColumnName(tableName + ""), DataType = type, IsNullable = !dataReader.GetBoolean(3), - IsIdentity = isIdentity, + IsIdentity = tableSript.Contains("AUTOINCREMENT")&& dataReader.GetBoolean(5).ObjToBool(), ColumnDescription = null, DbColumnName = dataReader.GetString(1), DefaultValue = dataReader.GetValue(4).ObjToString(),