EF Core中具有IsolationLevel的BeginTransaction

Pav*_*vel 6 entity-framework isolation-level entity-framework-core

我正在尝试重写旧库以使用EntityFramework Core,但我不知道如何以特定的隔离级别开始事务。

以前,我能够执行以下操作:

DbContext.Database.BeginTransaction(IsolationLevel.Snapshot);
Run Code Online (Sandbox Code Playgroud)

EntityFramework Core中的替代实现是什么?

Iva*_*oev 5

EF Core代码完全相同。

DbContext.Database.BeginTransaction(IsolationLevel.Snapshot);
Run Code Online (Sandbox Code Playgroud)

唯一的区别是,在EF Core中,具有隔离级别的方法(与其他许多方法一样)是一种扩展方法,该方法在RelationalDatabaseFacadeExtensions类中定义,并且重要的是位于Microsoft.EntityFrameworkCore.Relational程序集中。

因此,如果您有using Microsoft.EntityFrameworkCore;看到它而没有看到它,请添加对Microsoft.EntityFrameworkCore.Relational.dll程序集/包的引用。