title: Understanding TransactionScopeOptions: RequiresNew = Suppress + Required?
body: <p>I believe I understand <code>TransactionScopeOption.Suppress</code> and <code>TransactionScopeOption.Required</code> but am having difficulty understanding what <code>TransactionScopeOption.RequiresNew</code> does. Based on the last explanation that I read, would the following two blocks of code functionally be the same? Is this an accurate representation of what <code>RequiresNew</code> means?</p>
  
  <pre><code>using (var ts1 = new TransactionScope(TransactionScopeOption.RequiresNew))
  {
    DoStuff();
    ts1.Complete();
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>using (var ts2 = new TransactionScope(TransactionScopeOptions.Suppress))
  {
    using (var ts3 = new TransactionScope())
    {
      DoStuff();
      ts3.Complete();
    }
  
    ts2.Complete(); // not required but recommended for consistency's sake
  }
  </code></pre>