Como uso o AutoMapper para mapear várias subclasses em uma classe?

Vamos supor que eu tenho três classes que são subclasses de uma classe base:

public class BaseClass
{
    public string BaseName { get; set; }
}

public class Subclass1 : BaseClass
{
    public string SubName1 { get; set; }
}

public class Subclass2 : BaseClass
{
    public string SubName2 { get; set; }
}

public class Subclass3 : BaseClass
{
    public string SubName3 { get; set; }
}

Eu gostaria de mapear isso para uma classe ViewModel que se parece com isso:

public class ViewModel
{
    public string BaseName { get; set; }
    public string SubName1 { get; set; }
    public string SubName2 { get; set; }
    public string SubName3 { get; set; }
}

ViewModel simplesmente combina as propriedades em todas as subclasses e nivela-as. Eu tentei configurar o mapeamento da seguinte forma:

AutoMapper.CreateMap<BaseClass, ViewModel>();

Então eu tentei pegar dados do meu banco de dados da seguinte forma:

var items = Repo.GetAll<BaseClass>();
AutoMapper.Map(items, new List<ViewModel>());

No entanto, o que acaba acontecendo é que apenas oBaseName propriedade será preenchida noViewModel. Como eu configuraria o AutoMapper para que ele também mapeie as propriedades nas subclasses?

questionAnswers(2)

yourAnswerToTheQuestion