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.

Foi útil?

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
scroll top