Cannot perform a backup or restore operation within a transaction.無法在交易內進行備份或還原動作。

透過EF6執行SP時遇到下列錯誤:

"Cannot perform a backup or restore operation within a transaction.無法在交易內進行備份或還原動作。"

但卻在EF5環境下執行無任何異常

stackoverflow.com上爬到

Entity Framework 6 預設會自動啟用交易處裡

備份(Backup)、還原(Restore) 或 修改(Alter) 資料庫等工作無法被執行。

故在程式碼內要預先加入

db.Configuration.EnsureTransactionsForFunctionsAndCommands = false;
db.SP_NAME();

這樣就可以啟用交易時執行的T-SQL

 

後來參考保哥文章--解決 Entity Framework 6 無法在交易內進行備份或還原動作的問題

觀念才比較清楚EF5及EF6的差異用法

 

以上內容,若有錯誤

煩請各路高手路過指正

謝謝!

<(_ _)>