/// <summary> /// Configures this Unit of Work as a transactional unit. /// </summary> protected virtual void LoadTransactionContext() { if (info.IsTransactional) { transactionContext = persistenceContext.CreateTransactionalContext(); } }
/// <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; } }