/** * Commits the supplied operations to the underlying database within a transactional scope. * * @param array $EntitiesToPersist The entities to persist * @param array $ProceduresToExecute The procedures to execute * @param array $EntitiesToDiscard The entities to discard * @param array $CriteriaToDiscard The criteria of entities to discard * @return void */ public final function Commit(array $EntitiesToPersist, array $ProceduresToExecute, array $EntitiesToDiscard, array $CriteriaToDiscard) { $UnitOfWork = $this->Domain->BuildUnitOfWork($EntitiesToPersist, $ProceduresToExecute, $EntitiesToDiscard, $CriteriaToDiscard); $Transaction = new Relational\Transaction(); $this->MapUnitOfWorkToTransaction($UnitOfWork, $Transaction); $this->Database->Commit($Transaction); }