添加对象时,TransactionContext有什么区别?

| 表中只有一个插入时,
TransactionScope
有什么区别吗? 是
MyObjectContext.Messages.Save( message, m => m.ID == message.ID);
MyObjectContext.SaveChanges();
有什么不同
using( var ts = new TransactionScope() )
{
    MyObjectContext.Messages.Save( message, m => m.ID == message.ID);
    MyObjectContext.SaveChanges();
    ts.Complete();
}
以及究竟如何?     
已邀请:
        它们是有区别的。如果仅使用“ 3”,则仍然有一个事务,但是它具有数据库服务器的默认隔离级别-如果是SQL Server,则它是“读已提交”。如果在默认配置中使用
TransactionScope
,则您具有序列化事务隔离级别,但如果使用other0ѭ的其他构造函数,则可以更改它。 因此,如果您需要控制事务隔离级别,则将有所不同。     
        保存一个或多个项目都没有关系,此处使用ѭ0是多余的。 从文档ѭ7the:   SaveChanges可在   交易。 SaveChanges将滚动   支持该交易并抛出   异常,如果任何脏   ObjectStateEntry对象不能是   坚持。 因此,在您的示例中,您以ѭ0分层,没有其他好处。 现在,如果您有两个单独的
ObjectContext
实例,它们要确保保存了各自的数据集,那么您对两个both7 to的调用绝对需要the0ѭ。     
        不,没有区别。
SaveChanges
在一笔交易中运作。如果无法保留任何脏的“ 14”对象,则“ 3”将回滚该事务并引发异常。     

要回复问题请先登录注册