public final function MapRelationshipChanges(Object\UnitOfWork $UnitOfWork, Relational\Transaction $Transaction, IEntityRelationalMap $EntityRelationalMap, array $ObjectRelationshipChanges)
{
$ObjectPersistedRelationships = [];
$ObjectDiscardedRelationships = [];
foreach ($ObjectRelationshipChanges as $Key => $ObjectRelationshipChange) {
$ObjectPersistedRelationships[$Key] = $ObjectRelationshipChange->GetPersistedRelationship();
$ObjectDiscardedRelationships[$Key] = $ObjectRelationshipChange->GetDiscardedRelationship();
}
$RelationalPersistedRelationships = $this->MapPersistedRelationships($UnitOfWork, $Transaction, $EntityRelationalMap, $ObjectPersistedRelationships);
$RelationalDiscardedRelationships = $this->MapDiscardedRelationships($EntityRelationalMap, $ObjectDiscardedRelationships);
$RelationalRelationshipChanges = [];
foreach ($ObjectRelationshipChanges as $Key => $ObjectRelationshipChange) {
$RelationalRelationshipChanges[$Key] = new Relational\RelationshipChange($RelationalPersistedRelationships[$Key], $RelationalDiscardedRelationships[$Key]);
}
return $RelationalRelationshipChanges;
}