O AutoMapper é uma biblioteca popular que permite a conversão automática de objetos de um tipo para outro. Isso é útil quando você precisa mapear objetos de domínio para DTOs (Data Transfer Objects) ou vice-versa, sem a necessidade de escrever código manualmente para cada propriedade. Neste exemplo, veremos como mapear um objeto de domínio para um DTO de forma automática.
Bibliotecas:
Para usar a biblioteca AutoMapper, instale o pacote NuGet no seu projeto:
Install-Package AutoMapper
Código de Exemplo:
using AutoMapper;
using System;
namespace AutoMapperExemplo
{
public class Produto
{
public int Id { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
}
public class ProdutoDTO
{
public string Nome { get; set; }
public decimal Preco { get; set; }
}
class Program
{
static void Main(string[] args)
{
// Configurando o AutoMapper
var config = new MapperConfiguration(cfg => cfg.CreateMap<Produto, ProdutoDTO>());
var mapper = config.CreateMapper();
// Criando um objeto Produto
Produto produto = new Produto { Id = 1, Nome = "Laptop", Preco = 1500.99m };
// Mapeando Produto para ProdutoDTO
ProdutoDTO produtoDTO = mapper.Map<ProdutoDTO>(produto);
Console.WriteLine($"Nome: {produtoDTO.Nome}, Preco: {produtoDTO.Preco}");
}
}
}
Explicação do Código:
Neste exemplo, criamos duas classes: Produto e ProdutoDTO. A classe Produto contém todas as propriedades, enquanto a classe ProdutoDTO contém apenas Nome e Preco. No método Main, configuramos o AutoMapper para mapear de Produto para ProdutoDTO. Depois, criamos um objeto Produto e o mapeamos automaticamente para um objeto ProdutoDTO. Por fim, exibimos os valores do ProdutoDTO no console.
Conclusão:
O AutoMapper simplifica o processo de conversão entre diferentes objetos, eliminando a necessidade de escrever código repetitivo para mapear propriedades. Ele é especialmente útil em cenários onde você precisa mapear objetos de domínio para DTOs em aplicações de camadas.
Código fonte: GitHub
Top comments (0)