コード例 #1
0
 private static void BrowseTables(Table table, DatabaseDictionary <TableID, Table> seenTables, DatabaseDictionary <TableID, Table> notSeen, List <Table> cluster)
 {
     cluster.Add(table);
     notSeen.Remove(table);
     seenTables.Add(table, table);
     foreach (var reference in table.References.Concat(table.ReferencedBy))
     {
         if (seenTables.ContainsKey(reference) || !SchemaID.SchemaEquals(reference.Schema, table.Schema))
         {
             continue;
         }
         else
         {
             BrowseTables(reference, seenTables, notSeen, cluster);
         }
     }
 }