How to use AutoMapper on ASP.NET Core

What is AutoMapper?

AutoMapper is a simple little library built to solve a deceptively complex problem – getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?

Hello and welcome to this section. Here, I will explain you how you can use a AutoMapper in Asp.Net Core using Dependency Injection.

Here are some steps:

Step 1. Install AutoMapper extension from Package Manager in your project through Nuget Package or through Package Manager Console.
Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection -Version 9.0.0

Step 2. Register a service in ConfigureServices on Startup.cs.

// Startup.cs
using AutoMapper; 
public void ConfigureServices(IServiceCollection services){

Step 3. Create a model and a data transfer object(DTO)

// User.cs
// The model you want to map from (Source)
public class User{
    public string Name {get;set;}
    public string Email {get;set;}
    public string Phone {get;set;}
// Constructor to initialize User
    public User(){
        Name = "codehunger";
        Email = "[email protected]";
        Phone = "+9999999999";
// UserDTO.cs
// The data transfer object you want to map to (Destination)
public class UserDTO{
    public string Name{get;set;}
    public string Email{get;set;}
    public string Phone{get;set;}

Step 4. Create an AutoMapping class file to register a mapping relation

// AutoMapping.cs
using AutoMapper;
public class AutoMapping : Profile
    public AutoMapping()
        CreateMap<User, UserDTO>(); // means you want to map from User to UserDTO

Step 5. Map User to UserDTO in code.

// HomeController.cs
using AutoMapper;
public class HomeController : Controller
    private readonly IMapper _mapper;
    public HomeController(IMapper mapper)
        _mapper = mapper;
    public IActionResult GetUser()
        User user = new User();
        var userDTO = _mapper.Map<UserDTO>(user);
        return View(userDTO);

And below you will get the result like this after automapping.

var name = userDTO.Name; // name = "codehunger"
var email = userDTO.Email; // email = "[email protected]"
var phone = userDTO.Phone; // phone = "+9999999999"
0 0 votes
Article Rating

Do you want to hire us for your Project Work? Then Contact US.
Spread the love
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x