Вопрос

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

В моем контроллере я создал экземпляр DataCOntext и повторно использую этот экземпляр, например, при обратной отправке в контроллер.

Это было полезно?

Решение

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

Причина, по которой фабрика вводит фабрику в контроллер, двояка: она позволяет создавать DataContext по требованию и позволяет мне использовать фабрику, которая генерирует фиктивный DataContext для тестирования. Последнее позволяет мне избежать использования реальной базы данных в моих модульных тестах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top