Automapper两个类映射时如何为特定目标类型配置全局自定义转换器
解决方法
你可以在AutoMapper的配置中全局注册「源类型-目标类型」对应的转换器,注册后所有符合该类型配对的转换场景都会自动应用转换器,无需为单个类的成员单独配置转换规则。
完整配置代码如下:
var config = new MapperConfiguration(cfg => { // 注册全局string转int?的自定义转换器 cfg.CreateMap<string, int?>().ConvertUsing<NullableIntTypeConverter>(); // 注册全局string转DateTime的自定义转换器 cfg.CreateMap<string, DateTime>().ConvertUsing<DateTimeTypeConverter>(); // 原有类映射规则无需额外配置成员 cfg.CreateMap<Source, Destination>(); });
配置完成后,Source到Destination映射时,所有源为string类型、目标为int?或DateTime类型的属性都会自动调用对应转换器执行转换,不需要为每个属性单独配置ForMember规则。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

