Cómo deshacer una transacción en Entity Framework

string[] usersToAdd = new string[] { "asd", "asdert", "gasdff6" };
using (Entities context = new Entities())
{
    foreach (string user in usersToAdd)
    {
        context.AddToUsers(new User { Name = user });
    }
    try
    {
        context.SaveChanges(); //Exception thrown: user 'gasdff6' already exist.
    }
    catch (Exception e)
    {
        //Roll back all changes including the two previous users.
    }

O tal vez esto se haga automáticamente, lo que significa que si se produce un error, los cambios se cancelan para todos los cambios. ¿Lo es?

Respuestas a la pregunta(2)

Su respuesta a la pregunta