Ejemplo n.º 1
0
 /// <summary>
 ///   Configures this Unit of Work as a transactional unit.
 /// </summary>
 protected virtual void LoadTransactionContext()
 {
     if (info.IsTransactional)
     {
         transactionContext = persistenceContext.CreateTransactionalContext();
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        ///   Constructor.
        /// </summary>
        public UnitOfWork(UnitOfWorkInfo info, UnitOfWorkEventSubscriptions subscriptions,
                          IPersistenceContext persistenceContext, bool connectionBoundUnitOfWork)
        {
            this.connectionBoundUnitOfWork = connectionBoundUnitOfWork;

            Subscriptions           = subscriptions;
            this.persistenceContext = persistenceContext;
            transactionContext      = new NullTransactionalContext();
            this.info = info;
            try
            {
                LoadTransactionContext();

                if (connectionBoundUnitOfWork)
                {
                    persistenceContext.OpenSession();
                }
            }
            catch (Exception ex)
            {
                Log.Error("Error creating a new Unit of Work", ex);
                throw;
            }
        }