2013-03-03 68 views
0

原子事務我有實施,涉及到一個原子事務的問題:兩個文件系統和數據庫操作

  1. 像添加,編輯,移動文件系統操作,複製和刪除 文件。
  2. Linq操作(實體框架)像添加對象和 保存更改。

這兩種類型的操作應該被提交\一起回滾。

我環顧四周尋找解決方案,發現(事務性NTFS & .NET TransactionScope類)是我的最佳選擇,現在我的問題是TransactionScope類支持EF linq操作嗎?如果你能給我提供簡單的例子,我在這裏有點失落。

回答

1

是Linq to Sql支持.Net Transactions.SaveChanges適用於隔離級別爲ReadCommitted的Transaction。如果您必須在一個事務中應用多個SaveChanges,則可以明確應用事務。 EF SaveChanges首先檢查是否已有事務,如果不是,則它繼續使用它。它應用自己的事務。如果每個事務只有一個SaveChanges,則不需要應用事務。

+0

因此,當我使用transactionScope啓動我的作用域時,EF saveChanges將繼續使用它,並且不會應用自己的事務,對吧? – Lisa 2013-03-03 08:47:12

+0

這也適用於AddObject? – Lisa 2013-03-03 08:47:30

+1

是的,當你將應用自己的交易EF將與它一起。 – ethicallogics 2013-03-03 08:50:39