为我的 Web API 应用配置 IIS Web 配置以使用快照隔离

Configure IIS web config for my webapi app to use snapshop isolation

由于我们系统的性能(死锁、数据库写入正在进行时数据库读取被锁定等),我们想尝试 snapshop 隔离。我已阅读有关快照隔离级别的信息,here。我们使用 Entity Framework

我已经在数据库上设置了 Snapshop 隔离,并希望配置我们的 Web api 应用程序以使用此隔离进行读取和写入。我怎样才能做到这一点?我读到这可以在 web.config 中完成,但找不到如何..

根据Entity Framework documentation,需要使用事务来设置隔离级别:

using (var tx = myContext.Database.BeginTransaction(IsolationLevel.Snapshot)) {

   // Perform operations on the context...

   await myContext.SaveAsync();
   tx.Commit();
}

另请参阅 this answer 以获取有关默认值的详细信息:本质上,EF 通过 IsolationLevel.Unspecified.

使用数据库中的任何内容作为其默认事务隔离级别