Разностный режим отображения с использованием AutoMapper - PullRequest
0 голосов
/ 19 июля 2011

Я использую AutoMapper для сопоставления моих объектов POCO Entity Framework и ViewModels.

Вопрос 1:

Какая разница в отображении с помощью этого:

Apurador apurador = Mapper.Map<NovoViewModel, Apurador>(novoViewModel);

или что:

Mapper.Map(novoViewModel, apurador);

Вопрос 2:

Когда мне приходилось обновлять Entity в Entity Framework с помощью AutoMapper, мне приходилось делать это следующим образом:

Apurador apurador = context.Apurador.Find(id);
Mapper.Map(editarViewModel, apurador);
context.SaveChanges();

Таким образом, моя сущность не потеряла свойство Id, но таким образом ниже свойства Id потеряно:

Apurador apurador = context.Apurador.Find(id);
apurador = Mapper.Map<EditarViewModel, Apurador>(editarViewModel);
context.SaveChanges();

Почему ??

1 Ответ

0 голосов
/ 19 июля 2011

Прежде всего, последний компилируется?вы создаете два класса с одинаковыми именами!

Что касается Apurador apurador = Mapper.Map<EditarViewModel, Apurador>(editarViewModel); , то он создает новый экземпляр Apurador со значениями свойств из editarViewModel, а Mapper.Map(editarViewModel, apurador); отображает значение свойства изeditarViewModel к фактическому найденному объекту apurador (если я его не перепутал).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...