Как применить уровень изоляции транзакции для приложения MVC с отложенной загрузкой? - PullRequest
3 голосов
/ 25 августа 2011

У нас есть веб-приложение MVC, в котором производный класс EF DbContext (POCO) управляется StructureMap и устанавливается как жизненный цикл в формате http.Как мы можем установить определенный уровень изоляции для нашего репозитория (например, Read Uncommitted) при включенной отложенной загрузке?Уровень изоляции обычно устанавливается TransactionScope, который является одноразовым и не должен жить для всего запроса Http, как DbContext.Наши контроллеры ничего не знают обо всех этих специфичных для базы данных материалах и работают только с репозиториями, однако ViewModel может автоматически инициировать запросы к базе данных, получая доступ к загруженным с отложенным доступом свойствам.Спасибо за любые идеи.

1 Ответ

1 голос
/ 25 августа 2011

Вы можете создать пользовательский фильтр действий , который будет использовать область транзакции с незафиксированным чтением и использовать этот фильтр действий для действий, для которых вы хотите использовать это поведение.Транзакция не связана с хранилищем.Транзакция запускается либо контроллером, либо используемым сервисным уровнем, поскольку бизнес-логика определяет границу транзакции.

...