С AutoMapper может ли источник быть полностью сопоставлен со свойством в месте назначения? - PullRequest
0 голосов
/ 05 мая 2011

Я пытаюсь настроить профиль AutoMapper и застреваю при попытке сопоставить сущность с этой моделью представления:

public class CompositeViewModel
{
    public ContactViewModel Contact;
    public CompanyViewModel Company;
}

Мой текущий профиль содержит сопоставления из Contact -> ContactViewModel и Company -> CompanyViewModel, которые оба работают отлично. Но я хочу отобразить один Contact в эту модель составного представления. Класс Contact имеет экземпляр Company как свойство, как в: contact.Company.

Когда я делаю:

var viewModel = Mapper.Map<Contact, CompositeViewModel>(contact);

Он правильно заполняет CompositeViewModel.Company деталями contact.Company, но я бы хотел, чтобы все свойства сущностей были скопированы в CompositeViewModel.Contact.

Единственное решение, которое я вижу на данный момент, это удаление свойства ContactViewModel.Contact и выравнивание его со всеми необходимыми мне свойствами Contact. Но, похоже, это должно быть излишним.

Если я не был достаточно ясен, дайте мне знать, и я постараюсь уточнить. Спасибо.

1 Ответ

1 голос
/ 05 мая 2011

Проще было бы сделать что-то вроде

var viewModel=new viewModel
viewModel.Contact=Mapper.Map<Contact,ContactViewModel>(contact)
viewModel.Company=Mapper.Map<Company,CompanyViewModel>(contact.Company)

Прочитайте документацию автоматического средства, чтобы увидеть, как работает настройка отображения, если вы не удовлетворены вышеуказанным подходом.

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