public static async Task GetAsync( Catalog catalog, Dictionary <string, UserTable> userTables, Dictionary <string, PrimaryKeyColumn> primaryKeyColumns, Dictionary <string, UniqueConstraintColumn> uniqueConstraintColumns, DbConnection connection, IMetadataScriptFactory metadataScriptFactory, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.ThrowIfCancellationRequested(); using (var command = connection.CreateCommand()) { command.CommandText = metadataScriptFactory.ForeignKeys(catalog.ObjectName); using (var reader = await command.ExecuteReaderAsync(cancellationToken)) { if (!reader.HasRows) { reader.Close(); return; } await ReadAsync(userTables, primaryKeyColumns, uniqueConstraintColumns, reader, cancellationToken); reader.Close(); } } }
public static void Get( Catalog catalog, Dictionary <string, UserTable> userTables, Dictionary <string, PrimaryKeyColumn> primaryKeyColumns, Dictionary <string, UniqueConstraintColumn> uniqueConstraintColumns, DbConnection connection, IMetadataScriptFactory metadataScriptFactory) { using (var command = connection.CreateCommand()) { command.CommandText = metadataScriptFactory.ForeignKeys(catalog.ObjectName); using (var reader = command.ExecuteReader()) { if (!reader.HasRows) { reader.Close(); return; } Read(userTables, primaryKeyColumns, uniqueConstraintColumns, reader); reader.Close(); } } }