我们最近实现了自动映射器,目前正在寻求优化从DTO到模型的赋值。目前,我们正在做类似的事情model.Property1 = dto.Property1;model.SomePropertyType = dto.PropertyType;model.Property2 = dto.Property2; 现在,对于所有Mapper类,这可能会耗时很长且重复性的任务。有没有办法在AutoMapper上简化此过程?
1 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
如果您正在使用,Automapper那么您是否未定义地图(配置文件)?我相信,您可能已经定义了这些对象,所以请使用这些Automapper对象来指导如何将源对象映射到Target。
另一点Automapper也基于命名约定,因此,如果您在源和目标中都具有相同的属性名称,则它将自动自动映射。因此,您不必为它定义映射。要覆盖属性(或其名称/类型不匹配)的映射,可以使用.ForMember方法。
cfg.CreateMap<MyDTO, MyModel>()
.ForMember(destination => destination.PropertyType,
opts => opts.MapFrom(source => source.SomePropertyType ));
您可以Automapper在这里阅读有关内容。
现在在代码中获取映射的对象,使用它就像
Mapper.Map<MyModel>(object of MyDTO);
- 1 回答
- 0 关注
- 176 浏览
添加回答
举报
0/150
提交
取消