public Scheme.SchemeDefinition RetrieveSchemeDefinition(IDbConnection connection) { SchemeDefinition scheme = new SchemeDefinition(); RetrieveTables(connection, scheme); return scheme; }
private void RetrieveTables(IDbConnection connection, SchemeDefinition scheme) { using (IDbCommand cmd = connection.CreateCommand()) { cmd.CommandText = "SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA"; using (IDataReader reader = cmd.ExecuteReader()) { TableDefinition table = new TableDefinition(); table.Name = reader["TABLE_NAME"] as string; RetrieveColumns(connection, table); scheme.Tables.Add(table); } } }