우리는 Automapper를 버전 3에서 4.2.1까지 여러 프로젝트에서 수년간 사용하고있었습니다. 우리는 DTO에 엔티티를 매핑하는 데 문제가 없었으며 그 반대도 마찬가지였습니다. 버전 5.0.2로 업그레이드 한 후 갑자기. 이제 순환 참조가있는 모든 객체가 Map
메서드에서 System.StackOverflowException을 발생 시켰고 원시 속성을 가진 다른 객체는 잘 매핑되었습니다. 4.2.1 버전으로 롤백 했으므로 제대로 작동합니다.Automapper를 버전 4.x.x에서 5로 업그레이드 한 후 System.StackOverflowException을 얻었습니다.
매퍼가 순환 참조를 처리 할 수있는 구성이 있어야하며 그렇지 않으면 잘못된 방식으로 사용됩니다 (사용되지 않는 방식). 내가 CreateMap
방법을 사용하여 맵을 만들 때, 우리는 단지 순환 참조에 대한 참조를 보존하고 우리가 원하는 정확히 수행 PreserveReferences
라는 이름의 다른 방법을 호출 할 필요가 있음을 발견 뒷조사 후