使AutoMapper自动映射前缀属性

我希望AutoMapper自动映射这样的成员:

class Model {public int ModelId {get; 组; }}

class ModelDto {public int Id {get; 组; }}

在这里,我会做一个

CreateMap() .ForMember(x => x.Id, e => e.MapFrom(x => x.ModelId) 

但是,我怎样才能使AutoMapper自动进行映射? 我的大部分课程都是这样的。 主键的格式为:ClassName +“Id”。

编辑:

我试过这个,但它不起作用:

 class Program { static void Main(string[] args) { Mapper.Initialize(exp => { exp.CreateMap(); exp.ForAllPropertyMaps(map => map.DestinationProperty.Name.Equals("Id"), (map, expression) => expression.MapFrom(map.SourceType.Name + "Id")); }); var user = new User() { UserId = 34}; var dto = Mapper.Map(user); } } public class UserDto { public int Id { get; set; } } class User { public int UserId { get; set; } } 

谢谢!!

是的,代码看起来合理,但它不起作用。 那是因为它在计算属性映射后运行。 在这种情况下没有,因为名称不匹配。 我的坏:)尝试

 exp.ForAllMaps( (typeMap, mappingExpression) => mappingExpression.ForMember("Id", o=>o.MapFrom(typeMap.SourceType.Name + "Id")) );