I am working on a c# project with **EntityFramework** and the last developer wrote that:

```
using (System.Transactions.TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted }))
{
    try
    {
        //... do somehting
        context.SaveChanges();

        //... do some other work
        context.SaveChanges();

        scope.Complete();
    }
    catch (Exception ex)
    {
       context.RollbackChanges();
       scope.Complete();
    }
}

```

I don't understand why he is using `TransactionScope`. I tried to throw an exception between the 2 `SaveChanges` and it didnt **rollback** the first call modification.

Why using `TransactionScope`? 

Thanks