protected function PersistIdentifyingRelationship(Relational\Transaction $Transaction, Relational\ResultRow $ParentData, array $ChildRows)
{
if ($this->GetForeignKey()->HasReferencedKey($ParentData)) {
foreach ($ChildRows as $ChildRow) {
$this->MapRelationalParentDataToRelatedData($ParentData, $ChildRow);
}
} else {
$Transaction->SubscribeToPrePersistEvent($this->GetTable(), function () use(&$ParentData, &$ChildRows) {
foreach ($ChildRows as $ChildRow) {
$this->MapRelationalParentDataToRelatedData($ParentData, $ChildRow);
}
});
}
}