GetDataPropertyColumnMappings() public method

public GetDataPropertyColumnMappings ( ) : Storm\Core\Mapping\IDataPropertyColumnMapping[]
return Storm\Core\Mapping\IDataPropertyColumnMapping[]
コード例 #1
0
 /**
  * @access private
  * 
  * Maps the supplied entity data to result rows and maps any relationship changes.
  * 
  * @param Object\UnitOfWork $UnitOfWork
  * @param Relational\Transaction $Transaction
  * @param IEntityRelationalMap $EntityRelationalMap
  * @param Object\EntityData $EntityDataArray
  * @return Relational\ResultRows[]
  */
 private function MapEntityDataToTransaction(Object\UnitOfWork $UnitOfWork, Relational\Transaction $Transaction, IEntityRelationalMap $EntityRelationalMap, array $EntityDataArray)
 {
     $DataPropertyColumnMappings = $EntityRelationalMap->GetDataPropertyColumnMappings();
     $EntityPropertyToOneRelationMappings = $EntityRelationalMap->GetEntityPropertyToOneRelationMappings();
     $CollectionPropertyToManyRelationMappings = $EntityRelationalMap->GetCollectionPropertyToManyRelationMappings();
     $ResultRowArray = [];
     foreach ($EntityDataArray as $Key => $EntityData) {
         $ResultRowArray[$Key] = $EntityRelationalMap->ResultRow();
     }
     foreach ($DataPropertyColumnMappings as $DataPropertyColumnMapping) {
         $DataPropertyColumnMapping->Persist($EntityDataArray, $ResultRowArray);
     }
     foreach ($EntityDataArray as $Key => $EntityData) {
         $ResultRow = $ResultRowArray[$Key];
         foreach ($EntityPropertyToOneRelationMappings as $EntityPropertyToOneRelationMapping) {
             $RelationshipChange = $EntityData[$EntityPropertyToOneRelationMapping->GetProperty()];
             $MappedRelationshipChange = $this->MapRelationshipChanges($UnitOfWork, $Transaction, $EntityRelationalMap, [$RelationshipChange])[0];
             $EntityPropertyToOneRelationMapping->Persist($Transaction, $ResultRow, $MappedRelationshipChange);
         }
         foreach ($CollectionPropertyToManyRelationMappings as $CollectionPropertyToManyRelationMapping) {
             $RelationshipChanges = $EntityData[$CollectionPropertyToManyRelationMapping->GetProperty()];
             $MappedRelationshipChanges = $this->MapRelationshipChanges($UnitOfWork, $Transaction, $EntityRelationalMap, $RelationshipChanges);
             $CollectionPropertyToManyRelationMapping->Persist($Transaction, $ResultRow, $MappedRelationshipChanges);
         }
     }
     return $ResultRowArray;
 }