Фон
Я изучаю, как правильно использовать ASP.NET MVC, и столкнулась с этой проблемой с моделями:
У меня есть модель, которая описывает contact
. Я могу вывести ее из формы для создания новой contact
, но, скажем, когда мы редактируем форму, я извлекаю ее из хранилища, показываю поля в контакте формы, а затем получить объект contact
и отправить его в модель.
Задача
У меня есть бизнес-правило, согласно которому некоторые поля нельзя редактировать после создания, а другие поля доступны только после редактирования.
Я получаю грязный объект от пользователя (один с полями, к которым он должен прикасаться), и, используя метод привязки MVC (указав объект в сигнатуре метода), пользователи вставляют не редактируемое поле contact_dob
.
Вопрос
Должен ли я вместо этого снова получить запись, перезаписать только поля, которые я хочу обновить, и затем отправить ее в базу данных?
Какой самый лучший метод, когда я не хочу снова извлекать весь объект целиком из базы данных, я просто переделываю другую EntityModel
, которая является более легкой версией основной модели, и использую ее взад и вперед?
Я поступаю неправильно? Каковы оптимальные методы ограничения того, что пользователи могут редактировать?