AutoMapper,呼叫Mapper.Map()的自定义类型转换器里面?(AutoMapper,

2019-09-21 01:19发布

我目前正在与AutoMapper测试,但我现在有其属性名不相互匹配的情况下,所以需要有一个自定义类型转换。 但是,当我使用自定义类型转换,我要所有其他属性手动映射? 我不能调用类型转换器ofcourse内其他地图,因为这会导致溢出。

因为有这样我就希望其他属性将automaticaly映射不按模型匹配最多3个模型的特定属性,这是不必要的。

任何人都可以点我在这一个正确的方向?

Answer 1:

你不需要使用自定义类型转换器映射类那里,仅仅有不匹配名称的一些属性。 自定义类型转换是当你需要, 因为他们说 ,“完全控制在一个类型转换为另一种。”

建立地图CreateMap()然后设置使用一些额外的规则ForMember()就像这样:

Mapper.CreateMap<Person, Customer>()
    .ForMember(dest => dest.Surname, opt => opt.MapFrom(src => src.LastName))
    .ForMember(dest => dest.DateOfBirth, opt => opt.MapFrom(src => src.DOB));

这将映射LastNameDOB从源头Person类的SurnameDateOfBirth目的地的性能Customer类。



文章来源: AutoMapper, Call Mapper.Map() inside a custom type converter?
标签: c# AutoMapper