public void EnlistTransaction(System.Transactions.Transaction txn) { #if DEBUG System.Diagnostics.Trace.WriteLine("NuoDBConnection::EnlistTransaction(" + transaction + ")"); #endif if (transaction == null) transaction = BeginDbTransaction(IsolationLevel.ReadCommitted); txn.EnlistVolatile(transaction as NuoDbTransaction, System.Transactions.EnlistmentOptions.None); //base.EnlistTransaction(transaction); }
/// <summary> /// Manual distributed transaction enlistment support /// </summary> /// <param name="transaction">The distributed transaction to enlist in</param> public override void EnlistTransaction(System.Transactions.Transaction transaction) { if (_transactionLevel > 0 && transaction != null) throw new ArgumentException("Unable to enlist in transaction, a local transaction already exists"); if (_enlistment != null && transaction != _enlistment) throw new ArgumentException("Already enlisted in a transaction"); transaction.EnlistVolatile(new SQLiteEnlistment(this), System.Transactions.EnlistmentOptions.None); _enlistment = transaction; }