C# 从外部类到内部类变量的自动映射

C# 从外部类到内部类变量的自动映射,c#,automapper,C#,Automapper,我正在使用Automapper,需要知道是否可以将源变量映射到嵌套成员变量 这是我要从中映射的源 public class source { public string name; } 这是目标-我需要指定给嵌套的.name成员的name变量 public class Destination { public Nested info; } public class Nested { public string name; } 非常感谢您的帮助。 Ron.像这样的东西

我正在使用Automapper,需要知道是否可以将源变量映射到嵌套成员变量

这是我要从中映射的源

public class source
{
    public string name;
}
这是目标-我需要指定给嵌套的.name成员的name变量

public class Destination
{
    public Nested info;
}

public class Nested
{
    public string name;
}
非常感谢您的帮助。
Ron.

像这样的东西应该可以奏效,尽管您可能会遇到未初始化的
dst.info

CreateMap<source, Destination>()
            //reegular mapping here
            .ForMember(dst => dst.foo, c => c.MapFrom(src => src.otherfoo))
            //AfterMap to bind your properties
            .AfterMap((src, dst) => { dst.info.name = src.name; });
CreateMap()
//这里是正则映射
.ForMember(dst=>dst.foo,c=>c.MapFrom(src=>src.otherfoo))
//AfterMap绑定您的属性
.AfterMap((src,dst)=>{dst.info.name=src.name;});

ForPath
就可以了

CreateMap<source, Destination>()
        .ForPath(d => d.info.name, c => c.MapFrom(src => src.name));
CreateMap()
.ForPath(d=>d.info.name,c=>c.MapFrom(src=>src.name));

你有明确定义的配置吗?我不知道映射器是什么。初始化CreateMap定义。是的,它抱怨->必须解析为顶级成员,而不是任何子对象的属性。在子类型或AfterMap选项上使用自定义解析器。啊,AfterMap确实可以保护您。。。我来举个例子