문제

"ID"로 끝나는 소스 멤버가 ID없이 대상 멤버에 매핑되도록 회원 이름 매핑 컨벤션을 설정하려고 시도했습니다. 예를 들어

userId-> 사용자

이것을 어떻게합니까? SourcememberNametransformer를 성공하지 못한 채 사용하려고했습니다. 또한 alkenizepostfixes ()를 사용해 보았습니다.

    this.SourceMemberNameTransformer = s =>
                                      {     
                                          return s.Replace("Id", string.Empty);
                                      };
도움이 되었습니까?

해결책 2

지금부터 이것은 설정할 때 작동하지 않는 것 같습니다. Profile. 어느 것도 아니다 SourceMemberNameTransformer 또는 RecognizePostfix 에서 작동 Profile. 그러나 Automapper Global 구성에 지정되어 있습니다. 잘 작동합니다.

다른 팁

"keanceepostfixes"메소드를 사용할 수도 있습니다.

this.RecognizePostfixes("Id");

내장 변압기는 향후 참조를위한 것입니다.

s => Regex.Replace(s, "(?:^Get)?(.*)", "$1");

이것은 작동해야합니다.

this.SourceMemberNameTransformer = s =>
          {
              if (s.EndsWith("Id"))
                  return s.Substring(0, s.Length - 2);               
              return s;
          };

당신은 또한 그것을 달성 할 수 있습니다 DestinationMemberNamingConvention 그리고 Regex.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top