你好,我正在尝试使用Entity Framework进行事务处理。由于网上有很多关于实现事务的不同方式的信息,所以我有点困惑该如何选择正确的方式。我有一个示例数据库,其中包含两个表Employee和Company。Employee表具有指向公司ID的外键。考虑到我想要实现一个事务,在向Comp...
我不确定是否需要使用TransactionScope还是DbContext.SaveChanges()已足够提交包含多个CRUD操作的事务。我在后台使用SQL Server。
我有一个运行多个线程的应用程序。这些线程没有共享ObjectContext(每个线程都有自己的-我知道它们不是线程安全的)。 然而,这些线程都在共享一个事务下操作。原始线程创建一个TransactionScope,并且每个线程创建一个TransactionScope,使用来自主线程的Tran...
目前,我正在做类似于this的事情来集成测试一个与我们的API控制器通信的库,到目前为止都很好,但我遇到了一个问题。在我们所有其他的集成测试中,我们在MSDTC事务中以ReadCommitted隔离级别运行测试,以便每个测试都有自己的小型私有会话与数据库等,并且在每个测试结束时,事务都会回滚。...
我需要每个web请求在我的整个应用程序中实现事务。 我需要在控制器中启动事务,并且如果没有异常,则提交该事务。否则,回滚。 到目前为止,我有以下实现: 首先,我将事务创建为控制器的依赖项。然后,我会执行控制器/服务/存储库/其他工作。最后,主抽象控制器类执行其OnActionExecut...
我写了一个类来帮助使用Core Service添加和删除发布目标。通过Core Service,通常将发布目标暴露为一个字符串(包含XML内容),因此我编写了自己的包装器等。 现在我遇到一个情况,需要更新两个发布目标,并想使用事务范围来确保同时更新这两个目标。但是,我在实现这一点时遇到了困难...
我们正在逐步使用实体框架(4.3.1)替换传统的数据访问代码。在某些情况下,我们无法避免在一个工作单元中同时使用两种数据访问方式。理想情况下,应该在一个事务中完成。然而,旧代码使用了调用Commit()的SqlTransaction,而EF则管理其自己的事务。 因此,我们考虑将“旧”和“新”...
我正在尝试使用Entity Framework 6与SQLite,并在尝试使用TransactionScope时遇到了数据库锁定问题。以下是我的代码: using (var txn = new TransactionScope()) { using (var ctx = new Ca...
在Windows Azure中,我们将两个ASP.NET WebAPI项目作为应用程序服务托管。我们需要在此启用分布式事务。我们在一个API中启动事务。然后,在该事务作用域内,我们获取该事务的传播令牌,并在另一个API调用期间将其作为标头发送。代码如下所示。 [HttpGet] [Route...