Как мне сопоставить иерархию наследования с Automapper? - PullRequest
1 голос
/ 22 июня 2010

У меня есть следующие примеры классов, используемые в приложении типа MVC / MVVM:

class A
{
   public string Property1 { get; set; }
}

class B : A
{
   public string Property2 { get; set; }
}

class ViewModel
{
   public string Property1 { get; set; }
   public string Property2 { get; set; }
}

A - это мой базовый класс, а B - производный класс. ViewModel предназначен для охвата как A, так и B.

Я хочу использовать AutoMapper для отображения от A & B до ViewModel. Каков наилучший способ сделать это?

Предполагая, что у меня есть сложные свойства на A, которые требуют вызова .ForMember, нужно ли мне тогда повторять те же отображения для этих сложных свойств при создании карты из B в ViewModel или есть способ наследовать / повторно использовать карту А для ViewModel?

1 Ответ

1 голос
/ 23 июня 2010

Если вы сопоставляете A с ViewModel, вам нужно будет игнорировать () элементы, которых не существует на A, и повторять любую конфигурацию, которой нужно поделиться.поведение начинает становиться сложным и менее условным.Однако вы можете создать метод расширения в API конфигурации, чтобы инкапсулировать все повторяющиеся вызовы конфигурации.

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