21

我们正在使用来自 Codeplex 的 AutoMapper,对我来说,目标对象具有以“字段”结尾的所有属性,即 cityField,而源对象只有城市。

我可以使用下面的代码来实现,但所有属性都只是后缀为“字段”,并且有 20 个属性。

.ForMember(dest => dest.cityField, opt => opt.MapFrom(origin => origin.City));

有没有其他方法可以在映射时忽略“字段”字,这样它就可以在不使用 .ForMember() 20 次的情况下进行映射?

4

2 回答 2

18

您可以尝试识别后缀:

Mapper.Initialize(cfg => {
    cfg.RecognizePostfixes("Field");
    cfg.CreateMap<Source, Dest>();
});

识别前缀也适用于配置文件的本地,如果它只是一组适用于此的映射。

于 2010-02-04T01:56:36.490 回答
3

我认为您必须实施自己的INamingConvention才能解决此问题。

于 2010-02-02T17:34:42.113 回答