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

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay