C# 从外部类到内部类变量的自动映射
我正在使用Automapper,需要知道是否可以将源变量映射到嵌套成员变量 这是我要从中映射的源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.像这样的东西
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确实可以保护您。。。我来举个例子