BornAt = new DateTime(1976, 11, 26, 9, 17, 0),
BornAt = new DateTime(1976, 11, 26, 9, 17, 0),
private static PersonRecord MapFrom(RequestV1 source)
(source, target) => target.Name = source.Name);
private static PersonRecord MapFrom(RequestV2 source)
(source, target) => target.Name = $"{source.FirstName} {source.LastName}");
private static PersonRecord MapFrom<T>(T source, Action<T, PersonRecord> mapper)
var target = new PersonRecord
public class RequestV1 : RequestBase
public string Name { get; set; }
public class RequestV2 : RequestBase
public string FirstName { get; set; }
public string LastName { get; set; }
public abstract class RequestBase
public DateTime BornAt { get; set; }
public class PersonRecord
public string Name { get; set; }
public DateTime BornAt { get; set; }