【问题标题】:Atomic transaction for both file system and DB operations文件系统和数据库操作的原子事务
【发布时间】:2013-03-03 08:23:31
【问题描述】:

我在实现原子事务时遇到问题,涉及:

  1. 文件系统操作,如添加、编辑、移动、复制和删除 文件。
  2. Linq 操作(实体框架),如添加对象和 保存更改。

这两种类型的操作应该一起提交\回滚。

我四处寻找解决方案,发现(事务性 NTFS 和 .NET TransactionScope 类)是我的最佳选择,现在我的问题是 TransactionScope 类是否支持 EF linq 操作?如果你能给我提供简单的例子,我在这里有点迷失了。

【问题讨论】:

标签: c# linq entity-framework transactions io


【解决方案1】:

是的,Linq to Sql 支持 .Net Transactions。SaveChanges 应用具有隔离级别 ReadCommitted 的事务。如果您必须在一个事务中应用多个 SaveChanges,那么您明确地应用事务。 EF SaveChanges 首先检查是否已经存在事务,如果没有,则继续执行事务。如果每个事务只有一个 SaveChanges,则无需应用事务。

【讨论】:

  • 所以当我使用 transactionScope 开始我的范围时,EF saveChanges 将继续使用它并且不会应用它自己的事务,对吧?
  • 那也适用于 AddObject?
  • 是的,当您应用自己的事务时,EF 将随之而来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 2012-08-13
  • 1970-01-01
相关资源
最近更新 更多