繁体   English   中英

自动映射器:展平

[英]Automapper: Flattening

我已经尝试了所有从Item类映射到ItemDto类的映射(基本上是扁平化的映射),但是我一直为ItemDto.NestedItemName获取null:

public class Item
{
    public NestedItem NestedItem{get;set;}
}

public class NestedItem
{
    public string Name{get;set;}
}

public class ItemDto
{
    public string NestedItemName{get;set;}
}

我以为这会起作用:

CreateMap<NestedItem, ItemDto>()
                .ForMember(dest => dest.NestedItemName, opt => opt.MapFrom(src => src.Name));

但它返回null。 有任何想法吗? 我在.Net Core 2.1应用中使用了AutoMapper 7.0.1。

您使用了错误的映射。 很有可能是将项目转换为dto,因此应使用该地图创建地图

CreateMap<Item, ItemDto>()
    .ForMember(
        dest => dest.NestedItemName, 
        opt => opt.MapFrom(src => src.NestedItem.Name)
    );

来自评论

不需要自定义映射,默认的命名约定涵盖了此内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM