文件系统和数据库操作的原子事务

时间:2013-03-03 08:23:31

标签: c# linq entity-framework transactions io

我遇到了实现原子事务的问题:

  1. 文件系统操作,如添加,编辑,移动,复制和删除 文件。
  2. Linq操作(Entity Framework)就像添加对象和 保存更改。
  3. 这两种类型的操作应该提交\回滚。

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

1 个答案:

答案 0 :(得分:1)

是Linq to Sql支持.Net Transactions.SaveChanges应用具有隔离级别ReadCommitted的事务。如果您必须在一个事务中应用多个SaveChanges,那么您将明确应用事务。 EF SaveChanges首先检查是否已经存在它继续的事务,如果不是那么它应用它自己的Transaction.If每个事务只有一个SaveChanges然后就不需要应用Transaction。