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.
    }

或者,也许这是自动完成的,这意味着如果发生错误,提交更改的所有更改取消。 是什么?

有帮助吗?

解决方案

我创建了一个示例像从问题和后记我在DB检查和没有添加用户。例的应用

<强>结论:ObjectContext.SaveChange,将自动交易

注意:我相信,如果执行存储过程将需要交易等

scroll top