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;
    }