Automapper에 사용자 정의 ObjectMapper를 등록하는 방법
-
20-09-2019 - |
문제
Automapper의 iobjectMapper 인터페이스를 사용하여 유형에 대해 내 자신의 사용자 정의 객체 맵퍼를 만들 계획이지만 구현 된 맵퍼를 Automapper로 등록 할 수있는 곳은 없습니다. 누구든지 등록하는 방법을 말해 줄 수 있습니까?
편집 : 이에 대한 자세한 내용은 논의 automapper-users 그룹에서
해결책
여기로가는 한 가지 방법은 Mapperregistry 클래스에서 정적 레지스트리 기능을 대체하는 것입니다. 현재 버전은 다음과 같습니다.
public static Func<IEnumerable<IObjectMapper>> AllMappers = () => new IObjectMapper[]
{
#if !SILVERLIGHT
new DataReaderMapper(),
#endif
new TypeMapMapper(TypeMapObjectMapperRegistry.AllMappers()),
new StringMapper(),
new FlagsEnumMapper(),
new EnumMapper(),
new ArrayMapper(),
new EnumerableToDictionaryMapper(),
new DictionaryMapper(),
#if !SILVERLIGHT
new ListSourceMapper(),
#endif
new EnumerableMapper(),
new AssignableMapper(),
new TypeConverterMapper(),
new NullableMapper()
};
당신은 기본적으로 그 것을 복사하고 다음과 같은 작업을 수행합니다.
MapperRegistry.AllMappers = () => new IObjectMapper[] {
// Insert your custom mapper somewhere in this list
};
mapper.createmap 또는 mapper.initialize 비즈니스를하기 전에 그렇게하십시오. 맵퍼는 순서대로 평가됩니다.
제휴하지 않습니다 StackOverflow