我已经尝试了所有从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。
答案 0 :(得分:2)
您使用了错误的映射。很有可能是将项目转换为dto,因此应该使用该地图创建地图
CreateMap<Item, ItemDto>()
.ForMember(
dest => dest.NestedItemName,
opt => opt.MapFrom(src => src.NestedItem.Name)
);
来自评论
不需要自定义映射,默认的命名约定涵盖了