Exemplo n.º 1
0
 /// <summary>
 /// Initializes new instance of <see cref="NestedRelationalTransactionManager"/>.
 /// </summary>
 /// <param name="logger">Logger.</param>
 /// <param name="innerManager">"Real" transaction manager, i.e. the one of the current database provider.</param>
 public NestedRelationalTransactionManager(
     IDiagnosticsLogger <RelationalDbLoggerCategory.NestedTransaction> logger,
     IRelationalTransactionManager innerManager)
 {
     _logger       = logger ?? throw new ArgumentNullException(nameof(logger));
     _innerManager = innerManager ?? throw new ArgumentNullException(nameof(innerManager));
     _transactions = new Stack <NestedDbContextTransaction>();
 }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes new instance of <see cref="RootNestedDbContextTransaction"/>.
 /// </summary>
 /// <param name="logger">Logger.</param>
 /// <param name="nestedTransactionManager">Nested transaction manager.</param>
 /// <param name="innerManager">Inner transaction manager.</param>
 /// <param name="tx">The real transaction.</param>
 /// <param name="transactionId">The transaction id.</param>
 public RootNestedDbContextTransaction(
     IDiagnosticsLogger <RelationalDbLoggerCategory.NestedTransaction> logger,
     NestedRelationalTransactionManager nestedTransactionManager,
     IRelationalTransactionManager innerManager,
     IDbContextTransaction tx,
     Guid?transactionId)
     : base(logger, nestedTransactionManager, transactionId ?? tx?.TransactionId ?? throw new ArgumentNullException(nameof(tx)))
 {
     _innerManager = innerManager ?? throw new ArgumentNullException(nameof(innerManager));
     _innerTx      = tx;
 }