void GetColumns() { foreach (var x in _tables) { using (var command = new FbCommand(string.Format(_getColumnsQuery, x.Key), _connection)) using (var reader = command.ExecuteReader()) while (reader.Read()) { var column = new DatabaseColumn { Table = x.Value, Name = reader.GetString(0).Trim(), StoreType = reader.GetString(1).Trim(), IsNullable = reader.GetString(2).Trim() == "YES", DefaultValueSql = reader[3].ToString() == "" ? null : reader[3].ToString(), }; if (!string.IsNullOrEmpty(reader.GetString(4))) { column.AddAnnotation("Description", reader.GetString(4).Trim().Replace(Environment.NewLine, "; ")); } x.Value.Columns.Add(column); } Logger.LogDebug($"GetColumns => {x.Value.Columns.Count} columns for table {x.Value.Name}"); } }