«Объединить» модель и ViewModel с AutoMapper или без него?

В настоящее время я использую модели представления для отделения своих представлений от фактической структуры модели.

Например, у меня есть сущность сохранения пользователя и модель представления MyProfile, содержащая всю информацию,которые пользователь может изменить самостоятельно. Для преобразования из User в MyProfile я использую Automapper.

Теперь, после того как пользователь отправил обратно свою (измененную )информацию, мне нужно сохранить ее. Но информация в ViewModel неполная, и когда AutoMapper создает объект сохранения пользователя из ViewModel, важная информация теряется.

Я не хочу показывать эту информацию на уровне просмотра, особенно со скрытыми элементами формы.

Итак, мне нужен способ объединить ViewModel в постоянную сущность. Могу ли я сделать это с помощью AutoMapper или мне нужно делать это вручную?

Пример:

Мой класс пользователя содержит идентификатор, имя, фамилию, имя пользователя и пароль. Пользователь должен редактировать только свое Имя и Фамилию в своем профиле. Поэтому моя ProfileViewModel содержит идентификатор, имя и фамилию. После отправки обратно информации из формы Automapper создает объект User из переданного ProfileViewModel, и в этом объекте устанавливаются только ID, Имя и Фамилия. При передаче этого объекта в мой репозиторий я потерял информацию об имени пользователя и пароле.

8
задан ckonig 23 April 2012 в 07:48
поделиться