EF Core以编程方式更改隔离级别?

时间:2019-03-22 19:23:07

标签: c# .net entity-framework entity-framework-core

我正在学习EF Core,并尝试更改事务实例的隔离级别。

这是我使用ReadUncommitted级别设置事务实例的代码:

var transaction = new CommittableTransaction(new TransactionOptions
{ IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted });

我尝试使用以下代码将其设置为ReadCommitted,但由于IsolationLevel属性为只读,因此无法正常工作。

context.Database.GetEnlistedTransaction().IsolationLevel = IsolationLevel.ReadCommitted;

我该如何以编程方式进行?

1 个答案:

答案 0 :(得分:2)

没有API,要么是因为并非所有平台都支持在运行中更改事务隔离级别,要么是因为尝试这样做是非常不寻常的事情。

对于SQL Server,您可以使用TSQL(如果确实要这样做)来执行此操作,但通常只需选择事务隔离级别作为事务的开始即可。