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,
produtoserá uma nova instância com as mesmas informações dedto.
Conversão entre tipos compatíveis
O MapTo<T>() também é capaz de realizar conversões automáticas, como:
- De
stringparaenum - De
enumparastring
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 enumStatusPedido.Confirmado.
Considerações
- Apenas propriedades públicas com
getesetsã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.