DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited on

Mapeamento de Objetos Simplificado com AutoMapper

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
Enter fullscreen mode Exit fullscreen mode

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}");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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)