在 EF Core 中使用 IsolationLevel 开始事务

BeginTransaction with IsolationLevel in EF Core

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

以前我可以这样做:

DbContext.Database.BeginTransaction(IsolationLevel.Snapshot);

EntityFramework 核心中的替代实现是什么?

EF Core 代码完全一样。

DbContext.Database.BeginTransaction(IsolationLevel.Snapshot);

唯一的区别是在 EF Core 中 method with isolation level (as many others) is an extension method, defined in RelationalDatabaseFacadeExtensions class, and importantly, located in Microsoft.EntityFrameworkCore.Relational 程序集。

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