具有相同上下文的TransactionScope

本文关键字:TransactionScope 上下文 | 更新日期: 2023-09-27 18:27:42

我可以为事务编写这样的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();
}

我想实现的是将以上两个操作作为一个单元(这只是一个演示,在实际情况下,这两个操作被不同的服务分开,所以它们不能重用上下文),它们中的任何一个失败都会回滚。

以上代码足够吗?

具有相同上下文的TransactionScope

在编写示例时,yes会起作用。

在你的问题中,你提到

在实际情况下,这两者被不同的服务分开,因此

这取决于您所指的服务类型。如果您指的是WCF服务,那么您还需要正确配置WCF服务。请参阅此处和/或此处了解更多信息。

相关文章:
  • 没有找到相关文章