【发布时间】:2021-11-24 21:58:34
【问题描述】:
我的对象列表看起来像这样:
//SOURCE OBJECT
public class SourceObject
{
public string Code { get; set; }
public string Name { get; set; }
public string ImageUri1 { get; set; }
public string ImageUri2 { get; set; }
public string ImageUri3 { get; set; }
// etc...
}
//TARGET OBJECT
public class TargetObject
{
public string Code { get; set; }
public string Name { get; set; }
public List<TargetObjectImage> Images {get;set;}
}
public class TargetObjectImage
{
public string Name { get; set; }
public string ImageUri { get; set; }
}
我需要使用 TargetObject 的导航属性将 SourceObject 的一些属性映射到嵌套集合 TargetObjectImage。
所以实际上,我想调用“UNPIVOT”操作。 此外,源数据结构并不总是必须存储所有图像,在这种情况下 ImageUri... 属性将为空,不应添加到嵌套集合中。
public class SourceObjectProfile : Profile
{
public SourceObjectProfile()
{
var map = CreateMap<SourceObject, TargetObject>()
.ForMember(o => o.Name, o => o.MapFrom(m => m.Name))
.ForMember(o => o.Code, o => o.MapFrom(m => m.Code))
}
}
我正在使用 AutoMapper。我可以问任何提示吗?
【问题讨论】:
-
我们可以假设固定大小为 5 张图片,我不需要通用解决方案。
标签: mapping automapper unpivot