[C#] C# Mapster 예제 - Object - Object 매핑

참고


목적

  • 이번 포스팅에서는 C# MapSter NuGet 패키지를 이용하여 Object-Object 매핑하는 방법에 대해서 알려드리려고 합니다.
  • 예제 코드를 통해 어떻게 Object-Object 매핑을 하는지 예제 코드를 작성해 보겠습니다.

예제 코드

using Mapster;

Console.WriteLine($"MapSter Start!!");

// MapSter 이용한 매핑
TypeAdapterConfig<MemberDto, Member>
    .NewConfig()
    .Map(entity => entity.PhoneNumber, dto => dto.TelNumber);

MemberDto memberDto = new()
{
    Id = 1,
    Name = "BeomBeomJoJo",
    Description = "인간",
    Address = "대한민국 어딘가",
    TelNumber = "010-1234-1234"
};

var member = memberDto.Adapt<Member>();

Console.WriteLine($"ID : {member.Id}");
Console.WriteLine($"Address : {member.Address}");
Console.WriteLine($"Name : {member.Name}");
Console.WriteLine($"Description : {member.Description}");
Console.WriteLine($"PhoneNumber : {member.PhoneNumber}");

public class Member
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public string Address { get; set; }
    public string PhoneNumber { get; set; }
}

public class MemberDto
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public string Address { get; set; }
    public string TelNumber { get; set; }
}

실행 결과

  • MemberDto, Member 프로퍼티에서 현재 PhoneNumber, TelNumber 2개의 프로퍼티의 이름이 다릅니다.
  • 하지만, MapSter 에서 Config 를 통해 해당 프로퍼티를 설정해주어 매핑된 것을 확인할 수 있습니다.
MapSter Start!!
ID : 1
Address : 대한민국 어딘가
Name : BeomBeomJoJo
Description : 인간
PhoneNumber : 010-1234-1234
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY