public static async Task <List <ColumnMetadata> > GetColumnMetadataAsync(this DatabaseMetadata md, String schemaNamePattern, String tableNamePattern, String columnNamePattern = null) { var list = new List <ColumnMetadata>(); await md.PrepareColumnSearch(schemaNamePattern, tableNamePattern, columnNamePattern).EnumerateAsync(async column => list.Add(await md.ExtractColumnAsync((SQLDataRow)column))); return(list); }