当属性名称不同时使用Automapper

Mir*_*ral 21 c# properties automapper

我们正在使用Codeplex中的AutoMapper,对我来说,目标对象的所有属性都以'Field'结尾,即cityField,源对象只有city.

我可以使用下面的代码来实现,但所有的属性都只是以'Field'为后缀,有20个属性.

.ForMember(dest => dest.cityField, opt => opt.MapFrom(origin => origin.City));
Run Code Online (Sandbox Code Playgroud)

在映射时是否有任何其他方法可以忽略"字段"字,以便它可以在不使用.ForMember()的情况下映射20次?

Jim*_*ard 18

您可以尝试识别后缀:

Mapper.Initialize(cfg => {
    cfg.RecognizePostfixes("Field");
    cfg.CreateMap<Source, Dest>();
});
Run Code Online (Sandbox Code Playgroud)

识别前缀对于配置文件也是本地的,如果它只是一组适用的地图.