Automapper是否可以将复杂的源图形映射到目标属性中没有前缀且没有自定义映射的平面目标?

Mat*_*ley 8 .net c# automapper

有没有办法让Automapper映射复杂的源图,如:

public class Source {
    public string Name { get; set; }
    public SourceSub Sub { get; set; }
}

public class SourceSub {
    public string ValA { get; set; }
    public string ValB { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

到一个看起来像这样的平坦目的地:

public class Dest {
    public string Name { get; set; }
    public string ValA { get; set; }
    public string ValB { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我知道这样的东西适用于目的地:

public class Dest {
    public string Name { get; set; }
    public string SubValA { get; set; }
    public string SubValB { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在寻找一种映射到目标的方法,只要源的子类属性中的名称与目标属性名称匹配,就不需要目标属性中的前缀(对于源中的子类).有没有办法告诉Automapper将源的子类中的属性投影到平面目标类而不映射每个单独的成员?

Jim*_*ard 1

不,目前不支持这种情况。我们研究了一段时间,但发现我们的应用程序的命名冲突率太高,并且将名称扁平化保留了该值来源的完整上下文。