这里有一个答案 来解释如何使用实体框架进行事务但是该解决方案首先不适用于代码。我已经尝试过,我的测试表明以下确实有效
using (var scope = new TransactionScope())
{
DBContext1.SaveChanges()
If (ForceFailure) return 0 // used in testing
DBContext2.SaveChanges()
scope.Complete();
}
但是我感到紧张,因为我不再将参数传递给 SaveChanges 或调用 AcceptAllChanges
如何确定我是否可以信任我的解决方案?