지루하고 반복적인 매핑 작업을 자동으로 매핑해서 객체 변환 하는 기능을 AutoMapper과 통합하여 기본 제공한다.
"AutoMapper"은 .NET 개발 환경에서 객체 간 데이터 매핑을 자동화하기 위한 도구입니다. 이 라이브러리는 C# 및 .NET 언어로 개발된 애플리케이션에서 데이터 전송 객체(DTO)와 엔티티 객체(Entity) 간의 속성 매핑을 단순화하는 데 도움을 줍니다. AutoMapper를 사용하면 반복적이고 번거로운 코드 작성을 줄일 수 있으며, 코드 유지보수를 개선할 수 있습니다.
예제
publicclassSampleAppController:AppController{privatereadonlyIRepository<Sample> _sampleRepository;privatereadonlyIObjectMapper _objectMapper;publicUserAppController(IRepository<Sample> sampleRepository,IObjectMapper objectMapper) { _sampleRepository = sampleRepository; _objectMapper = objectMapper; } // 사용자에게 올라온 파라메터를 CreateSampleDto의 Dto로 바인딩한다.publicvoidCreateSample(CreateSampleDto input) { // 사용자단에서 올라온 Dto 객체를 엔티티 객체로 변환한다.var sample =_objectMapper.Map<Sample>(input); // 변환된 엔티티 객체의 값을 DB에 저장한다._userRepository.Insert(sample); }}
AutoMapper와 통합
IObjectMapper를 통해서 AutoMapper과 통합하였고, 추가 기능을 제공하고 있습니다.
매핑 만들기
매핑을 사용하기 전에 AutoMapper에서는 클래스 간의 매핑을 정의해야합니다. 매핑에 대한 자세한 내용은 AutoMapper의 자체 설명서(documentation)를 참조하십시오. Axs를 사용하면 좀 더 쉽게 모듈화 할 수 있습니다.
자동 매핑
대부분의 경우 클래스를 직접 매핑 할 수 있습니다. 이 경우 AutoMap, AutoMapFrom 및 AutoMapTo 속성을 사용할 수 있습니다. 예를 들어 위 샘플에서 CreateSampleDto 클래스를 Sample 클래스에 매핑하려면 아래와 같이 AutoMapTo 특성을 사용할 수 있습니다 :