我需要映射PriorityId - > TcTaskPriorityId
Mapper.Configuration.RecognizePrefixes("TcTask");
Mapper.CreateMap<Task, TpTasksEntity>();
Task t = new Task{PriorityId = 1};
var te = Mapper.Map<Task, TpTasksEntity>(t);
它不起作用。
答案 0 :(得分:3)
RecognizePrefixes适用于源对象前缀,即:
Mapper.Configuration.RecognizePrefixes("TcTask");
Mapper.CreateMap<Task, TpTasksEntity>();
Task t = new Task { TcTaskPriorityId = 1 };
var te = Mapper.Map<Task, TpTasksEntity>(t);
对于您的场景,您可以编写自定义命名约定:
Mapper.Configuration.SourceMemberNameTransformer = s => "TcTask" + s;
Mapper.CreateMap<Task, TpTasksEntity>();
Task t = new Task { PriorityId = 1 };
var te = Mapper.Map<Task, TpTasksEntity>(t);
答案 1 :(得分:2)
使用RecognizeDestinationPrefixes
方法。
答案 2 :(得分:1)
你可以尝试:
Mapper.Initialize(cfg => {
cfg.RecognizePrefixes("TcTask");
cfg.CreateMap<Task, TpTasksEntity>();
});