i'm using automapper define mapping configuration between objects. need retrieve single mapped values destination based on configuration.
let's have domain object
class person { public string firstname { get; set; } public string lastname { get; set; } } and corresponding dto
class persondto { public string fullname { get; set; } } and mapping
mapper.createmap<person, persondto>() .formember( dest => dest.fullname, opts => opts.mapfrom(src => src.firstname + " " + src.lastname)); i'd method mapper.mapfield<persondto>(person, x => x.fullname) returns 1 mapped value (that assigned specified field in full mapping). there way can without mapping whole object , extracting value result?
first create resolver , use resolve using method in mapper call.
public class personnameresolver : valueresolver<person, persondto> { protected override persondto resolvecore(person source) { return new persondto { firstname = source.firstname, lastname = source.lastname }; } } once created, use following in mapper call.
mapper.createmap<person, persondto>() .formember( dest => dest.name, opts => opts.resolveusing<personnameresolver>().frommember(o => o))
Comments
Post a Comment