Skip to content

Conhecendo o Mapeamento com MapTo()

O método MapTo<T>() é a principal funcionalidade da biblioteca NetCore.Mapper.

Ele permite transformar um objeto de origem em uma nova instância de destino com base em regras simples e automáticas, sem precisar configurar mapeamentos manualmente.


Como funciona

A transformação acontece com base na correspondência entre nomes de propriedades públicas e compatibilidade de tipos.

Por exemplo:

public class ProdutoDto
{
    public string Nome { get; set; }
    public decimal Preco { get; set; }
}

public class Produto
{
    public string Nome { get; set; }
    public decimal Preco { get; set; }
}
var dto = new ProdutoDto { Nome = "Camiseta", Preco = 49.90m };
var produto = dto.MapTo<Produto>();

Neste caso, produto será uma nova instância com as mesmas informações de dto.


Conversão entre tipos compatíveis

O MapTo<T>() também é capaz de realizar conversões automáticas, como:

  • De string para enum
  • De enum para string
public class PedidoDto
{
    public string Status { get; set; } // exemplo: "Confirmado"
}

public enum StatusPedido
{
    Pendente,
    Confirmado,
    Enviado
}

public class Pedido
{
    public StatusPedido Status { get; set; }
}
var dto = new PedidoDto { Status = "Confirmado" };
var pedido = dto.MapTo<Pedido>();

A string "Confirmado" será convertida automaticamente para o enum StatusPedido.Confirmado.


Considerações

  • Apenas propriedades públicas com get e set são consideradas
  • O tipo de destino deve ter um construtor público sem parâmetros
  • Tipos complexos aninhados não são tratados recursivamente (ex: objetos dentro de objetos)

Simples, direto e funcional

Com MapTo<T>(), você evita configurações manuais e foca no que realmente importa:
transformar dados com segurança e fluidez entre diferentes camadas da sua aplicação.