public static async Task <List <TableMetadata> > GetTableMetadataAsync(this DatabaseMetadata md, String schemaNamePattern, String tableNamePattern, params TableType[] tableTypes) { var list = new List <TableMetadata>(); await md.PrepareTableSearch(schemaNamePattern, tableNamePattern).EnumerateAsync(async table => list.Add(await md.ExtractTableAsync((SQLDataRow)table))); return(list); }