Сценарий:
Огромный Patient
класс / сущность с около 100 свойствами. Но на веб-странице мне нужно только отображать контактную информацию (только около 10 свойств) для обновления. Do / Могу ли я создать ViewModel для этого?
Раньше я только использовал ViewModel для чтения данных. Можно ли использовать для обновления данных?
EDIT:
Хорошо, чтобы подвести итог тому, что я нашел до сих пор.
- Используйте
AutoMapper
, чтобы отобразить ViewModel (содержит только свойства, подлежащие обновлению) обратно в исходный большой EntityClass.
Пример:
[HttpPost]
public virtual ActionResult Edit(EditUser user)
{</p>
<code> var domain = uow.Users.Create();
domain.Id = user.Id;
uow.Users.Update(domain);
AutoMapper.Mapper.Map<EditUser, Example.Core.Data.User>(user, domain);
uow.Save();
return View();
}
- Создайте еще одну сущность с именем PatientSummary в модели EDMX, которая содержит только необходимые свойства. Вручную выполните сопоставление в дизайнере EDMX. Затем используйте эту сокращенную сущность для веб-страницы обновления контакта с пациентом.
Лично я чувствую, что должен быть лучший способ сделать это. Любой комментарий?