Я не понимаю, когда создавать экземпляры объектов или классы статических помощников. Например, если я вызываю метод для обновления модели данных и отправки в базу данных, я создаю экземпляр DataContext. Каков срок жизни этого Datacontext и можно ли создавать новые экземпляры каждый раз, когда требуется новое обновление данных?
В моем контроллере я создал экземпляр DataCOntext и повторно использовал этот экземпляр, например, при отправке обратно в контроллер.





DataContext - довольно легкий класс, предназначенный для использования в единице работы. Обычно я передаю Factory, которая при необходимости создает соответствующий DataContext. Я обычно заключаю это в блок using и конвертирую результаты в список (или другой объект), чтобы запрос выполнялся в коде контроллера, а полученные объекты передавались в мое представление. Таким образом, DataContext может быть удален (из блока using) в методе контроллера.
Причина внедрения фабрики в контроллер двоякая: она позволяет создавать DataContext по запросу и позволяет мне использовать фабрику, которая генерирует фиктивный DataContext для тестирования. Последнее позволяет мне избегать использования реальной базы данных в моих модульных тестах.
Спасибо. Что-то не так с созданием одного Datacontxt в классе контроллера и совместным использованием всех ActionResults?