views:

224

answers:

2

We are using AutoMapper from Codeplex and for me the destination object has all the properties ending with 'Field', ie cityField and the source object has just city.

I can use the below code to achieve but all of the properties are just suffixed with 'Field' and there are 20 properties.

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

Is there any other way to ignore 'Field' word when mapping and so that it can map without using .ForMember() 20 times?

+2  A: 

I think you'll have to implement your own INamingConvention to work around this.

Anton Gogolev
+3  A: 

You can try recognizing postfixes:

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

Recognizing prefixes also works local to profiles, if it's just a set of maps that this applies to.

Jimmy Bogard