Для чистой модели данных, я собираюсь об этом ...
Используя в качестве примера рабочий процесс утверждения, скажем, в моем веб-приложении есть страница, которая позволяет пользователю пометить MyEntityObject
для утверждения. MyEntityObject
имеет несколько свойств, которые управляют его рабочим процессом утверждения, поэтому у меня есть общий служебный метод, называемый FlagForApproval(MyEntityObject eo)
.
Если page вызвать FlagForApproval () , чтобы установить только необходимые свойства, а затем вызвать SaveChanges () , когда он будет готов, или должен FlagForApproval ( ) сохранить изменения?
При использовании служебного метода сохранения изменений кажется, что он делает немного больше, чем его просят сделать (что, если это был всего лишь один шаг в серии операций?), Но в то же время создание страницы вызывает SaveChanges () и передача данных в БД может показаться слишком близкой к обязанностям уровня данных.
Мысли
(Обновление: FWIW, до сих пор у меня были служебные методы, вызывающие SaveChanges (), поэтому на странице есть только один набор исключений для обработки, будь то проверка или данные.)