Mapster Mapper #2

Master ๋Š” AutoMapper์™€ ๋น„์Šทํ•œ Mapping Library ์ž…๋‹ˆ๋‹ค.

Install-Package Mapster

public class ModelA
{ 
  public string Name { get; set; }  
  public string Description { get; set; }
}


public class ModelB
{
    public string Name { get; set; }
    public string Description { get; set; }
}

์„œ๋กœ ๋‹ค๋ฅธ Class๋ฅผ ์„ ์–ธํ•œํ›„

using Mapster;
using test_con;

Console.WriteLine("Hello, Mapster");

ModelA a = new ModelA() { Name = "BlueBird", Description = "ํŒŒ๋ž€์ƒ‰" }; //ํด๋ž˜์Šค ์„ ์–ธํ›„ ๊ฐ’ ๋„ฃ๊ธฐ
ModelB b = a.Adapt<ModelB>(); // ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ๊ฐ’ ์ฑ„์šฐ๊ธฐ

Console.WriteLine($"{b.Name} / {b.Description}");

image

์ด๋ ‡๊ฒŒ ModelA์— ๋„ฃ์–ด์ง„ ๊ฐ’์ด ์ž๋™์œผ๋กœ ModelB์— ์ฑ„์›Œ์ ธ์„œ ์ถœ๋ ฅ๋ฌ์Šต๋‹ˆ๋‹ค.

7๊ฐœ์˜ ์ข‹์•„์š”

AutoMapper์™€ Mapster
์—ฌ๊ธฐ์— ๋น„๊ต๊ฐ€ ์ž˜๋˜์–ด ์žˆ๋„ค์š”โ€ฆ

๋งต์Šคํ„ฐ๊ฐ€ ๋” ๋‚˜์€ ์„ฑ๋Šฅ๊ณผ ๋” ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์•ฝ์† ํ•œ๋Œ€์š”โ€ฆ

6๊ฐœ์˜ ์ข‹์•„์š”

์„ฑ๋Šฅ๋„ ๋” ์ข‹๊ธฐ๋„ ํ•˜์ง€๋งŒ automapper๋Š” ์‚ฌ์ „์˜ mapping ์„ ์–ธ์„ ํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ๊ณ  ์‚ฌ์šฉ๋ฒ•์ด ์•ฝ๊ฐ„ ๋ณต์žกํ•œ๋ฐ

Adapt ์ด๊ฒƒ ํ•˜๋‚˜๋กœ ํ•ด๊ฒฐ๋˜๋‹ˆ ์ฐธ ์ข‹์€๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ automapper ๋งŒ์˜ customํ•œ ์žฅ์ ๋„ ์žˆ๊ฒ ์ง€๋งŒ
๊ฐ€๋ณ๊ฒŒ ์‚ฌ์šฉํ•˜๊ธด ์ข‹์„๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

3๊ฐœ์˜ ์ข‹์•„์š”

๋•๋ถ„์— ๊ฐ€๋ณ๊ฒŒ ์ž˜ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค~~^^

2๊ฐœ์˜ ์ข‹์•„์š”

Maspter ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์ด Ignore๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•  ๋•Œ ์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๊ตฌ์กฐ ์—†์ด ๊ฐœ๋ฐœ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ Ignore๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•˜๋Š” ์ˆœ๊ฐ„์ด ์˜ค๋ฉด AutoMapper๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋Œ€๋™์†Œ์ด ํ•ฉ๋‹ˆ๋‹ค.

2๊ฐœ์˜ ์ข‹์•„์š”