/// <summary>
 /// Releases the unmanaged resources used by the <see cref="DbTransaction"/>.
 /// </summary>
 /// <param name="disposing">false if being called from a <c>finalizer</c></param>
 protected override void Dispose(bool disposing)
 {
     if (disposing && this._transaction != null)
     {
         this._transaction.Dispose();
     }
     this._transaction = null;
     this._connection  = null;
     base.Dispose(disposing);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="InstrumentedDbTransaction"/> class.
 /// </summary>
 /// <param name="transaction">The transaction.</param>
 /// <param name="connection">The connection.</param>
 /// <exception cref="ArgumentNullException">Throws when the <paramref name="transaction"/> or <paramref name="connection"/> is <c>null</c>.</exception>
 public InstrumentedDbTransaction(DbTransaction transaction, InstrumentedDbConnection connection)
 {
     this._transaction = transaction ?? throw new ArgumentNullException(nameof(transaction));
     this._connection  = connection ?? throw new ArgumentNullException(nameof(connection));
 }