πŸ—ΊοΈ AutoMapper Learning Center

Complete Guide to AutoMapper in ASP.NET Core MVC

From Beginner to Advanced - Learn by Examples

πŸ“š What is AutoMapper?

AutoMapper is a popular object-to-object mapper for .NET that eliminates the need for writing tedious mapping code. It uses a convention-based approach to automatically map properties between objects with the same names.

Why use AutoMapper?

  • Reduces boilerplate code
  • Improves code maintainability
  • Separates concerns (Domain Models vs DTOs)
  • Simplifies complex object transformations
  • Supports advanced mapping scenarios

πŸ”— Additional Resources

βš™οΈ Installation & Setup

Step 1: Install NuGet Package
dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection
Step 2: Register in Program.cs
builder.Services.AddAutoMapper(typeof(Program).Assembly);
Step 3: Create a Profile
public class UserProfile : Profile
{
    public UserProfile()
    {
        CreateMap<User, UserDTO>();
    }
}
Step 4: Inject and Use IMapper
public class MyController : Controller
{
    private readonly IMapper _mapper;
    
    public MyController(IMapper mapper)
    {
        _mapper = mapper;
    }
    
    public IActionResult Index()
    {
        var user = GetUser();
        var userDTO = _mapper.Map<UserDTO>(user);
        return View(userDTO);
    }
}

πŸ’‘ Key Concepts

Domain Models

Represent your business entities and database tables. They contain all properties and business logic.

DTOs (Data Transfer Objects)

Lightweight objects designed to transfer data between layers. They expose only necessary data to clients.

ViewModels

Objects specifically designed for views. They contain only the data needed for display.

Profiles

Configuration classes where you define your mappings. They organize mapping logic in a clean way.