我将尝试迁移到最新的稳定版本的自动映射器。使用的当前版本是4.2.1.0。
使用70多个实体地图的次数超过500次:
Mapper.CreateMap<Data.Entities.Entity, Domain.Models.Entity>();
...
Mapper.Map<Data.Entities.Entity, Domain.Models.Entity>(x)).ToList();
我正在寻找可能已成功从4.2.x迁移的人员的迁移建议。希望我能找到一个重构最少的迁移路径。
答案 0 :(得分:1)
您需要将所有这些内容移至一个Mapper.Initialize
来电,但通常我们会将每个内容组织在Profile
内。如果您对正则表达式感到满意,则应该能够使用它将所有这些事件输出到单个文件中。像/Mapper\.CreateMap.*;/
之类的东西(你可能需要调整以获得跨越行的语句)。
收集完所有CreateMap
个来电后,您只需将其包含在:
Mapper.Initialize(cfg => {
cfg.CreateMap(...);
});
您正在使用Mapper.CreateMap
替换cfg.CreateMap
,因此这是一个简单的文本替换。
然后,您可以再次使用正则表达式,而不仅仅匹配Mapper.CreateMap
的原始出现次数并删除它们。
这也是我在迁移ORM时使用的技术,正则表达式让我获得90-100%的方式。