我正在处理一个使用EntityFramework的C#项目,上一个开发者写道:
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();
}
}
我不明白为什么他在使用 TransactionScope
。我尝试在两个 SaveChanges
之间抛出异常,但它没有回滚第一个调用的修改。
为什么要使用 TransactionScope
?
谢谢