编辑:标题不正确,我正在尝试从源列表映射到嵌套模型的源列表。
我在尝试将列表映射到嵌套模型中列出的另一个列表时遇到问题。种类和非扁平化。问题是我不知道如何进行映射。
这是我在映射失败后的设置:
public class DestinationModel
{
public DestinationNestedViewModel sestinationNestedViewModel { get; set; }
}
public class DestinationNestedViewModel
{
public List<ItemModel> NestedList { get; set; }
}
public class SourceModel
{
public List<Item> SourceList { get; set; }
}
其中 Item 和 ItemModel 已经在它们之间定义了映射
我不能这样...
Mapper.CreateMap<SourceModel, DestinationModel>()
.ForMember(d => d.DestinationNestedViewModel.NestedList,
opt => opt.MapFrom(src => src.SourceList))
错误:
表达式 'd => d.DestinationNestedViewModel.NestedList' 必须解析为顶级成员。参数名称:lambdaExpression
然后我尝试了这样的事情:
.ForMember(d => d.DestinationNestedViewModel,
o => o.MapFrom(t => new DestinationNestedViewModel { NestedList = t.SourceList }))
问题是 NestedList = t.SourceList。它们各自包含不同的元素,分别是ItemModel和Item。所以,他们需要被映射。
我如何映射这个?