我可以为事务编写这样的EntityFramework代码:
using(var trans = new TransactionScope())
{
using(var context1 = new MyDbContext())
{
context1.AddEntity(...);
context1.SaveChanges();
}
using(var context2 = new MyDbContext())
{
context2.UpdateEntity(...);
context2.SaveChanges();
}
trans.Complete();
}
我想要实现的是将两个操作作为一个单元(它只是一个演示,在实际情况下,这两个由不同的服务分开,因此它们不能重用上下文),其中任何一个失败会回滚。
以上代码是否足够?