C# 映射嵌套不同类型在AutoMapper中具有不同属性名称的嵌套对象
我正在尝试将一个嵌套对象映射到另一个对象,如下面的示例所示。我可以很容易地将BobAge映射到JimAge等,但是如何将Bobs集合映射到Jims集合呢。这可以深入到n层。非常感谢C# 映射嵌套不同类型在AutoMapper中具有不同属性名称的嵌套对象,c#,automapper-6,C#,Automapper 6,我正在尝试将一个嵌套对象映射到另一个对象,如下面的示例所示。我可以很容易地将BobAge映射到JimAge等,但是如何将Bobs集合映射到Jims集合呢。这可以深入到n层。非常感谢 public class Bob { public int BobAge { get; set; } public string BobName { get; set; } public List<Bob> Bobs { get; set; } } public class
public class Bob
{
public int BobAge { get; set; }
public string BobName { get; set; }
public List<Bob> Bobs { get; set; }
}
public class Jim
{
public int JimAge { get; set; }
public string JimName { get; set; }
public List<Jim> Jims { get; set; }
}
cfg.CreateMap<Bob, Jim>()
.ForMember(d => d.JimAge, opt => opt.MapFrom(src => src.BobAge))
.ForMember(d => d.JimName, opt => opt.MapFrom(src => src.BobName))
.ForMember(d => d.Jims, opt => opt.MapFrom(src => src.Bobs));
公共类Bob
{
public int BobAge{get;set;}
公共字符串BobName{get;set;}
公共列表BOB{get;set;}
}
公共课吉姆
{
公共int JimAge{get;set;}
公共字符串JimName{get;set;}
公共列表Jims{get;set;}
}
cfg.CreateMap()
.ForMember(d=>d.JimAge,opt=>opt.MapFrom(src=>src.BobAge))
.ForMember(d=>d.JimName,opt=>opt.MapFrom(src=>src.BobName))
.ForMember(d=>d.Jims,opt=>opt.MapFrom(src=>src.Bobs));
很抱歉,以您的代码为例,对我来说,它可以正常工作。请给出一个不起作用的实际例子。请看我的测试。谢谢你的回复。基本上我犯了一个愚蠢的错误,Bobs是一个Bob,而不是一个集合。完全错过了。好吧,这是可能的,没问题。投票结束,因为这种错误不太可能帮助解决类似问题。