title: Basket Item with with TransactionScope.ReadCommitted still creating duplicates
body: <p>I have an endpoint (ASP.NET WebAPI + Entity Framework 6) allowing to add items to a basket. It looks like this:</p>
  
  <blockquote>
  <pre><code>    public int AddToBasket(BasketUpdate update)
      {
          var transactionOptions = new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted };
          using (var scope = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
          {
              var existingBasketItem = basketItems.Query().FirstOrDefault(item =&gt;
                      item.UserId == update.UserId
                      &amp;&amp; item.AccountId == update.AccountId
                      &amp;&amp; item.ProductId == update.ProductId);
  </code></pre>
  </blockquote>
  
  <pre><code>            existingBasketItem = existingBasketItem ?? basketItems.Create();
              existingBasketItem.Quantity += update.Quantity;
              existingBasketItem.AccountId = update.AccountId;
              existingBasketItem.UserId = update.UserId;
              existingBasketItem.ProductId = update.ProductId;
  
              unitOfWork.Commit();
  
              scope.Complete();
  
              return existingBasketItem.Quantity;
          }
      }
  </code></pre>
  
  <p>So I assumed (in my endless nativity) that if I fire multiple calls to this endpoint, I always end up with one entry in the database adding up the quantities of all calls correctly. Penetrating this endpoint with Fiddler seems to confirm that, all requests are waiting until the previous has finished.</p>
  
  <p>However, as soon as I stop looking (or somebody else adds items to the basket), I end up having something like that:</p>
  
  <pre><code>Id   Quantity  ProductId  UserId  AccountId
  429  12        4560          56   2234
  430   1        4560          56   2234
  </code></pre>
  
  <p>How on earth can that happen? Are there by any chance two instances alive on the IIS server at some point, or do I misunderstand anything about transactions here? Pulling my hair already, so help would be much appreciated.</p>