AutoMapper从多个来源转换

AutoMapper从多个来源转换,第1张

AutoMapper从多个来源转换

您无法直接将多个源映射到单个目标-
您应按照安德鲁·惠特克(Andrew
Whitaker)的
回答中的说明,一一应用地图。因此,您必须定义所有映射:

Mapper.CreateMap<People, PeoplePhoneDto>();Mapper.CreateMap<Phone, PeoplePhoneDto>()        .ForMember(d => d.PhoneNumber, a => a.MapFrom(s => s.Number));

然后通过这些映射中的任何一个创建目标对象,并将其他映射应用于创建的对象。并且可以通过非常简单的扩展方法来简化此步骤:

public static TDestination Map<TSource, TDestination>(    this TDestination destination, TSource source){    return Mapper.Map(source, destination);}

用法很简单:

var dto = Mapper.Map<PeoplePhoneDto>(people)     .Map(phone);


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5113620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存