Pergunta
É possível com Automapper Para configurar uma convenção para que os mapas não precisem ser criados manualmente para situações em que a entidade que você está mapeando apenas disse "ViewModel" anexada.
Como exemplo, prefiro não precisar configurar o seguinte mapa:
Mapper.CreateMap<Error, ErrorViewModel>();
Entendo que se for necessário projeção que eu precisasse criar um mapa personalizado, mas ter uma convenção para criar mapas seria bom.
Solução
Você precisaria usar Mapper.DynamicMap<TDest>(source)
mapear.
Como você pode ver no exemplo abaixo, ele mapeia automaticamente as propriedades correspondentes da fonte para o destino.
using AutoMapper;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
var source = new Foo {Value = "Abc"};
var destination = Mapper.DynamicMap<FooViewModel>(source);
Debug.Assert(source.Value == destination.Value);
}
}
public class Foo
{
public string Value { get; set; }
}
public class FooViewModel
{
public string Value { get; set; }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow