재우니의 블로그


AutoMapper

공식사이트

https://github.com/AutoMapper/AutoMapper

사용법은 현재 2017.11.23 기준, 아직도 6.1.1 버전 이하 가이드로 설명이 되어 있네요. 


AutoMapper 가 6.1.1 까지는 아래와 같은 구문이 적용이 가능 했습니다.

Mapper.Initialize(cfg => cfg.CreateMap<ContactModel, ContactModel>() .ConstructUsing(x => new ContactModel(LoggingDelegate)) .ForMember(x => x.EntityReference, opt => opt.Ignore()) ); var model = Mapper.Map<ContactModel>(newModel);


하지만 6.2.0 이상 부터는 오류가 발생합니다.

System.InvalidOperationException: 'Mapper already initialized. You must call Initialize once per application domain/process.'

이를 개선하기 위해서는 MapperConfiguration 함수를 통해 AutoMapper 를 초기화 하고 나서 사용해야 합니다.

var mapper = new MapperConfiguration(cfg => cfg.CreateMap<ContactModel, ContactModel>() .ConstructUsing(x => new ContactModel(LoggingDelegate)) .ForMember(x => x.EntityReference, opt => opt.Ignore())).CreateMapper(); var model = mapper.Map<ContactModel>(newModel);


자세한 내용은 여기서...

https://stackoverflow.com/a/47265707