title: TransactionScope doesn't rollback transactions
body: <p>I guess I'm doing it all wrong but did not find practicle examples to prove the theory.</p>
  
  <p>I have the following code</p>
  
  <h2>BusinessLayer</h2>
  
  <pre><code>public static void AddEntities(ENTITY entity, int nb) {
      using(TransactionScope scope = new TransactionScope()) {
          for (int i = 0 ; i &lt; nb ; i++) {
              DAL.AddEntity(entity);
          }
          scope.Complete();
      }
  }
  </code></pre>
  
  <h2>DataAccessLayer</h2>
  
  <pre><code>public static void AddEntity(entity) {
      using(SqlCommand command = ...) {
          // code
          command.ExecuteNonQuery();
      }
  }
  </code></pre>
  
  <p>If an exception is thrown and multiple entities have already been persisted, they are not rollback. But the rest is not persisted also. I need everything to get persisted or nothing.</p>