private function AddTables(array $Tables)
{
foreach ($Tables as $Key => $Table) {
$Table->InitializeStructure($this);
unset($Tables[$Key]);
$Tables[$Table->GetName()] = $Table;
}
$this->Tables = array_merge($this->Tables, $Tables);
foreach ($Tables as $Table) {
$Table->InitializeRelatedStructure($this);
}
foreach ($Tables as $Table) {
$Table->InitializeRelations($this);
}
foreach ($Tables as $Key => $Table) {
$this->AddTableToOrderedTables($Table, $this->TablesOrderedByPersistingDependency, DependencyMode::Persisting);
$this->AddTableToOrderedTables($Table, $this->TablesOrderedByDiscardingDependency, DependencyMode::Discarding);
}
}