Время жизни Entity Framework и Object Context в ASP.NET MVC

Я использую Entity Framework в своем проекте, и у меня проблема в том, что, как только я передаю свои сущности в View (имейте в виду, что эти сущности имеют объекты с отложенной инициализацией, такие как: Products.Owner, где owner является объект, который лениво инициализируется) я получаю исключение во время выполнения, говорящее мне, что ObjectContext находится вне области видимости.

Теперь это имеет смысл, так как я получаю сущности из Сервиса с помощью оператора using (.... entity...) { .... }, что означает, что он удаляется при возвращении результата.

Как бы мне обойти это и получить объектный контекст, который жив от начала до конца. Благодарю.

1 ответ

Решение

Один из вариантов заключается в том, чтобы связать репозиторий с Запросом, и в Repository реализовать IDisposable, а метод Dispose избавиться от содержащегося ObjectContext, а не использовать более привычный шаблон pattern внутри действий вашего контроллера.

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