2012-12-20 2 views
1

ASP.NET 웹 API 프로젝트에서 작업하고 있습니다.Automapper 사용자 지정 리졸버에서 요청에 액세스

내 도메인에서 매핑에 자동 매퍼를 사용하는 방법은 사용자 정의 ValueResolver에 요청 매개 변수에 전달하지 DTO들

에 객체?

나는 stackoverflow에 대한 비슷한 질문이 2 년 다시 게시 할 수 없다는 언급을 보았다. 이것은 지금 같은 상황입니까, 아니면 해결 되었습니까? 비슷한 질문에

링크는 2 년 전에 제기 : How to pass values to a Custom Resolver in Automapper?

자신의 확인자 개체를 삽입하는 데 사용할 수있는 ConstructedBy 방법이 있습니다,하지만 난하지 요청에 패스에 액세스하는 방법을 할

감사합니다

답변

1

나는 당분간 AfterMap() 기능을 사용했습니다. 나는 누군가가 더 나은 해결책을 원하기를 바라고있다. 편의상

은 내가 reset 메소드를 호출하는 매핑 구성에서 AfterMap()을 추가

public class Source { 

     public string Value {get;set;} 

} 

public class Destination{ 

     public string Value {get;set;}    

     private bool _reset; 

     public Destination(bool reset = false){ 
      _reset = reset; 
     } 

     public void TryReset(){ 
      if(!_reset) return; 

      Value = string.Empty; 

     } 

} 

에 내 소스 및 대상 클래스를 감소합니다. 컨트롤러의

Mapper.CreateMap<Source, Destination>() 
     .AfterMap((source, dest) => dest.TryReset()); 

제가

var destination = Mapper.Map(new Source { Value ="Hello" }, 
          new Destination(flag)); 
로 직접 요청에서 리셋 플래그를 전달할
관련 문제