[C#] C# Mapster 예제 - Object - Object Split 매핑하기

참고


목적

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

예제 코드

using Mapster;

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

// MapSter 이용한 매핑
TypeAdapterConfig<MemberDto, Member>
    .NewConfig()
    .AfterMapping((dto, entity) =>
    {
        var splitString = dto.Name.Split(' ');
        entity.FirstName = splitString[0];
        entity.LastName = splitString[1];
    });

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

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

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

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; }
}

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

실행 결과

  • MemberDto 객체에서는 Name 프로퍼티에 BeomBeom JoJo 하나의 이름으로 선언하였습니다.
  • 하지만, MapSter Split 이용하여 Member 의 FirstName, LastName 속성에 각각 BeomBeom, JoJo 가 나눠서 매핑된 것을 확인할 수 있습니다.
MapSter Start!!
ID : 1
Address : 대한민국 어딘가
FirstName : BeomBeom
LastName : JoJo
Description : 인간
PhoneNumber :
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY