public ITableStructure LoadTable(FullDatabaseRelatedName tname) { if (tname.ObjectType == "table") { var dbmem = new DatabaseStructureMembers { TableMembers = TableStructureMembers.All, TableFilter = new List <NameWithSchema> { tname.ObjectName } }; var dbs = Connection.InvokeLoadStructure(null, dbmem, null); return(dbs.Tables[tname.ObjectName]); } if (tname.ObjectType == "view") { var dbmem = new DatabaseStructureMembers { ViewAsTables = true, ViewAsTableFilter = new List <NameWithSchema> { tname.ObjectName } }; var dbs = Connection.InvokeLoadStructure(null, dbmem, null); return(dbs.ViewAsTables[tname.ObjectName]); } throw new NotImplementedError("DAE-00370"); }
//public static List<string> InvokeLoadColumnNames(this IPhysicalConnection conn, string dbname, NameWithSchema table) //{ // DatabaseStructureMembers dbmem = new DatabaseStructureMembers // { // TableFilter = new List<NameWithSchema>{table}, // TableMembers = TableStructureMembers.ColumnNames, // }; // IDatabaseStructure dbs = conn.InvokeLoadStructure(dbname, dbmem); // return new List<string>(from c in dbs.Tables[table].Columns select c.ColumnName); //} public static List <string> InvokeLoadSchemaNames(this IPhysicalConnection conn, string dbname) { return(StructLoader.SchemaNames(dbmem => conn.InvokeLoadStructure(dbname, dbmem, null))); }