實體框架7中的顯式事務

asp.net-core c# entity-framework-core

有人知道如何在Entity Framework 7中創建顯式事務嗎???我找到的所有信息都是指EF的第6版。文檔也非常不完整,所以有人可以提供一個例子嗎?

我有一個dbContext,我必須刪除一個實體及其相關的對象,然後再次插入它們,但在同一個事務中,所以我總是有一個行的“版本”。

一般承認的答案

事務功能僅包含在RC7中,僅從RC1開始(請參閱語句 )。 .SaveChanges() (或.SaveChangesAsync() )的調用應該使用自動事務。然後我想,例如,之前某些實體項的狀態應該標記為已刪除。

可以通過在數據庫內部包含一些操作片段來顯式啟動事務

using (context.Database.BeginTransaction()) {
    /*do something*/
}

事務將通過在using塊結束時調用.Dispose()來提交。可以選擇使用

using (context.Database.BeginTransaction()) {
    /*do something*/
}

它一般都應該在以前版本的Entity Framework中看起來像。例如,請參閱帖子




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因