左右DTO对象AutoMapper-C#

时间:2018-04-26 06:42:07

标签: c# automapper dto

我们最近实施了automapper,目前正在寻求优化从DTO到模型的分配值。目前我们正在做类似

的事情
model.Property1 = dto.Property1;
model.SomePropertyType = dto.PropertyType;
model.Property2 = dto.Property2; 

现在,对于所有Mapper类来说,这可能是一个相当长且重复的任务。 有没有办法在AutoMapper上简化这个?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Automapper,那么您是否未定义地图(个人资料)?我相信,您可能已定义了这些,请使用这些来指示Automapper如何将源对象映射到Target。

另一点Automapper也基于命名约定,因此如果源和目标中都有相同的属性名称,那么它将自动自动化。所以你没有必要定义它的映射。要覆盖属性的映射(或其名称/类型不匹配),可以使用.ForMember方法。

cfg.CreateMap<MyDTO, MyModel>()

                .ForMember(destination => destination.PropertyType,

               opts => opts.MapFrom(source => source.SomePropertyType ));

您可以在here了解Automapper

现在在获取映射对象的代码中,使用它像

Mapper.Map<MyModel>(object of MyDTO);