简体   繁体   中英

Can Automapper map a complex source graph to a flat destination without prefixes in the destination properties and without custom mappings?

Is there a way to get Automapper to map a complex source graph like:

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; }
}

to a flat destination that looks like:

public class Dest {
    public string Name { get; set; }
    public string ValA { get; set; }
    public string ValB { get; set; }
}

I know something like this will work for a destination:

public class Dest {
    public string Name { get; set; }
    public string SubValA { get; set; }
    public string SubValB { get; set; }
}

However, I am looking for a way to map to the destination without requiring a prefix in the destination properties (for the child class in the source) as long as the names in the child class properties of the source match the destination property names. Is there a way to tell Automapper to project properties in a child class of the source to a flat destination class without mapping each individual member?

No, this isn't a supported scenario right now. We looked at it for a while, but found the naming collision rate too high for our apps, and having the name flattened preserved the full context for where that value came from.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM