您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

AutoMapper从多个来源转换

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);
其他 2022/1/1 18:18:26 有480人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶