관리 메뉴

심재운 블로그

AutoMapper 의 6.2.0 에서 오류 Mapper already initialized 대처방안 본문

닷넷관련/ASP.NET MVC & Core

AutoMapper 의 6.2.0 에서 오류 Mapper already initialized 대처방안

재우니 2017.11.23 19:04


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





0 Comments
댓글쓰기 폼