我正在建立模型与视图模型之间的映射,并且试图将ICollection映射到从List派生的类
我尝试在ListItemClassVM和ICollection之间进行映射,但是出现错误“参数类型不匹配”
选项1映射与此配合使用:
public class ParentVM
{
public List<ListItemClass> ListItemClasses { get; set; }
}
选项二映射不起作用:
public class ParentVM
{
public ListItemClassVM ListItemClasses { get; set; }
}
public ListItemClassVM : List<ListItemClass>
{
}
映射设置:
public ModelClass_ParentVM_Profile()
{
CreateMap<ModelClass, ParentVM>()
.ForMember(d => d.ListItemClasses, o => o.MapFrom(i => i.ModelCollection))
;
CreateMap<ParentVM, ModelClass>()
;
}
尝试设置映射,因此选项二将进行映射。
答案 0 :(得分:0)
我认为有更多方法可以解决该问题,但是您无法摆脱从ICollection
CreateMap<ModelClass, ParentVM>()
.ForMember(d => d.ListItemClasses, o => o.MapFrom(i =>new ListItemClassVM (i.ModelCollection)))
;