当属性名称不同时使用Automapper
我们正在使用Codeplex的AutoMapper,对我来说,目标对象的所有属性都以’Field’结尾,即cityField,源对象只有city。
我可以使用下面的代码来实现,但所有的属性都只是’Field’的后缀,有20个属性。
.ForMember(dest => dest.cityField, opt => opt.MapFrom(origin => origin.City));
是否有任何其他方法可以在映射时忽略“字段”字,以便它可以在不使用.ForMember()的情况下映射20次?
您可以尝试识别后缀:
Mapper.Initialize(cfg => { cfg.RecognizePostfixes("Field"); cfg.CreateMap
识别前缀对于配置文件也是本地的,如果它只是一组适用于它的地图。
我认为你必须实现自己的INamingConvention来解决这个问题。