Настройте веб-конфигурацию IIS для моего приложения webapi для использования изоляции Snapshop

Из-за производительности в нашей системе (взаимоблокировки, чтение базы данных заблокировано, когда выполняется запись в базу данных и т. Д.), Мы хотим попробовать изоляцию из snapshop. Я читал об уровне изоляции снимков, здесь. Мы используем Entity Framework

Я установил изоляцию Snapshop на БД и хочу настроить наши приложения веб-API для использования этой изоляции как для чтения, так и для записи. Как я могу это сделать? Я прочитал, что это можно сделать в web.config, но не могу найти, как..

1 ответ

Решение

Согласно документации Entity Framework, вам нужно использовать транзакцию, чтобы установить уровень изоляции:

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

   // Perform operations on the context...

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

См. Также этот ответ для получения подробной информации о значениях по умолчанию: по существу, EF использует все, что база данных имеет в качестве уровня изоляции транзакции по умолчанию через IsolationLevel.Unspecified,

Другие вопросы по тегам