如何使用AutoMapper注册自定义ObjectMapper
我打算使用AutoMapper的IObjectMapper接口为类型创建我自己的自定义Object Mapper,但是我没有看到任何可以用AutoMapper注册实现的mapper的地方。 谁能告诉我如何注册它。
编辑:有关此内容的更多信息,请按照AutoMapper-Users组中的讨论进行操作
这里的一种方法是替换MapperRegistry类中的静态注册表函数。 这是当前版本:
public static Func> 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业务之前,请执行此操作。 按顺序评估映射器。