GetPersistenceDataGroups() 공개 메소드

public GetPersistenceDataGroups ( ) : PersistenceData[][]
리턴 PersistenceData[][]
예제 #1
0
 public function testEntityIsPersisted()
 {
     $Entity = $this->Entity(null);
     $this->UnitOfWork->Persist($Entity);
     $this->assertCount(1, $this->UnitOfWork->GetPersistenceData());
     $this->assertArrayHasKey(self::EntityType, $this->UnitOfWork->GetPersistenceDataGroups());
     $this->assertCount(1, $this->UnitOfWork->GetPersistenceDataGroups()[self::EntityType]);
 }
예제 #2
0
 /**
  * @access private
  * 
  * Maps a unit of work instance to the transactional equivalent.
  * 
  * @param Object\UnitOfWork $UnitOfWork The unit of work to map
  * @param Relational\Transaction $Transaction The transaction to map to
  * @return void
  */
 private function MapUnitOfWorkToTransaction(Object\UnitOfWork $UnitOfWork, Relational\Transaction $Transaction)
 {
     foreach ($UnitOfWork->GetPersistenceDataGroups() as $EntityType => $PersistenceDataGroup) {
         $this->MapPersistenceDataToTransaction($UnitOfWork, $Transaction, $PersistenceDataGroup);
     }
     foreach ($UnitOfWork->GetExecutedProcedures() as $Procedure) {
         $Transaction->Execute($this->MapProcedure($Procedure));
     }
     foreach ($UnitOfWork->GetDiscardenceDataGroups() as $EntityType => $DiscardedIdentityGroup) {
         $EntityRelationalMap = $this->EntityRelationMaps[$EntityType];
         $ResultRows = $this->MapEntityDataToTransaction($UnitOfWork, $Transaction, $EntityRelationalMap, $DiscardedIdentityGroup);
         foreach ($ResultRows as $ResultRow) {
             $Transaction->DiscardAll($ResultRow->GetPrimaryKeys());
         }
     }
     foreach ($UnitOfWork->GetDiscardedCriteria() as $DiscardedCriterion) {
         $Transaction->DiscardWhere($this->MapObjectCriterion($DiscardedCriterion));
     }
 }