를 인식하지 못합니다 그것을 위해 AutoMapper의 ProjectTo 확장 방법을 사용하십시오ProjectTo 내가 (일부 필드는 단순하게 유지하기 위해 누락)과 같다 DB에서 데이터를 얻기위한 클래스가 매개 변수없는 생성자
return await _context.Branches
.Where(b => b.Id == message.Id)
.ProjectTo<BranchDetailDto>(_configuration)
.SingleAsync();
그러나이 작업은 오류가 발생하고 오류 페이지는 말한다 :
NotSupportedException : LINQ to Entities에서는 매개 변수없는 생성자와 초기화 프로그램 만 지원됩니다.
왜? 내 수업에는 매개 변수가없는 생성자가 있습니다. AutoMapper에서 인식하지 못할 수도 있습니까? 또는 정의에 단지 하나의 생성자가 필요하고 두 번째 생성자가 문제를 일으키고 있습니까? 나에게 이상하게 들린다.
편집
Automapper 버전 Automapper.EF6은 1.0.0입니다 6.1.1입니다. 이 설정과 관련하여 특별한 것은 없습니다. 모든 필드가 명명 규칙에 따라 맵핑 될 수 있으므로지도가 자동으로 생성되어야합니다 (물론 cfg의 CreateMissingTypeMaps가 true로 설정 됨).
그러나 두 번째 생성자에 매개 변수를 주석 처리했으며 작동하기 시작했습니다. 그래서 정말 두 번째 생성자와 혼동 스러워요,하지만 그것은 의도 된 동작 (클래스에서 단 하나의 생성자를 가질 수있을 것)이 아니라고 생각합니다.
더 많은 정보를 제공해야합니다 : 모든 버전, 오토마터 구성 등 (dto와 엔티티 클래스의 완전한 정의가 도움이 될 수 있습니다). 그대로 재현 할 수 없습니다. – Evk