private void GetTables() { var command = _connection.CreateCommand(); command.CommandText = "SELECT schema_name(t.schema_id) AS [schema], t.name FROM sys.tables AS t " + $"WHERE t.name <> '{HistoryRepository.DefaultTableName}'" + TemporalTableWhereClause; using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new TableModel { Database = _databaseModel, SchemaName = reader.GetValueOrDefault <string>("schema"), Name = reader.GetValueOrDefault <string>("name") }; Logger.LogTrace(SqlServerDesignStrings.FoundTable(table.SchemaName, table.Name)); if (_tableSelectionSet.Allows(table.SchemaName, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } else { Logger.LogTrace( SqlServerDesignStrings.TableNotInSelectionSet(table.SchemaName, table.Name)); } } } }
private void GetTables() { var command = _connection.CreateCommand(); // for origin of the sys.extended_properties SELECT statement // below see https://github.com/aspnet/EntityFramework/issues/5126 command.CommandText = @"SELECT schema_name(t.schema_id) AS [schema], t.name" + MemoryOptimizedTableColumn + @" FROM sys.tables AS t WHERE t.is_ms_shipped = 0 AND NOT EXISTS (SELECT * FROM sys.extended_properties WHERE major_id = t.object_id AND minor_id = 0 AND class = 1 AND name = N'microsoft_database_tools_support') " + $"AND t.name <> '{HistoryRepository.DefaultTableName}'" + TemporalTableWhereClause; // Interpolation okay; strings using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new TableModel { Database = _databaseModel, SchemaName = reader.GetValueOrDefault <string>("schema"), Name = reader.GetValueOrDefault <string>("name") }; if (!string.IsNullOrEmpty(MemoryOptimizedTableColumn)) { table[SqlServerFullAnnotationNames.Instance.MemoryOptimized] = reader.GetValueOrDefault <bool?>("is_memory_optimized"); } Logger.LogDebug( RelationalDesignEventId.FoundTable, () => SqlServerDesignStrings.FoundTable(table.SchemaName, table.Name)); if (_tableSelectionSet.Allows(table.SchemaName, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } else { Logger.LogDebug( RelationalDesignEventId.TableSkipped, () => SqlServerDesignStrings.TableNotInSelectionSet(table.SchemaName, table.Name)); } } } }
private void GetTables() { var command = _connection.CreateCommand(); // for origin of the sys.extended_properties SELECT statement // below see https://github.com/aspnet/EntityFramework/issues/5126 command.CommandText = @"SELECT schema_name(t.schema_id) AS [schema], t.name FROM sys.tables AS t WHERE t.is_ms_shipped = 0 AND NOT EXISTS (SELECT * FROM sys.extended_properties WHERE major_id = t.object_id AND minor_id = 0 AND class = 1 AND name = N'microsoft_database_tools_support') " + $"AND t.name <> '{HistoryRepository.DefaultTableName}'" + TemporalTableWhereClause; using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new TableModel { Database = _databaseModel, SchemaName = reader.GetValueOrDefault <string>("schema"), Name = reader.GetValueOrDefault <string>("name") }; Logger.LogTrace(SqlServerDesignStrings.FoundTable(table.SchemaName, table.Name)); if (_tableSelectionSet.Allows(table.SchemaName, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } else { Logger.LogTrace( SqlServerDesignStrings.TableNotInSelectionSet(table.SchemaName, table.Name)); } } } }