using System.Collections.Generic;
public static void Main()
var config = new MapperConfiguration(cfg =>
cfg.CreateMap<Trip, Route>()
.ForMember(dest => dest.SequNumber, o => o.MapFrom(src => src.TrainNumber));
cfg.AllowNullDestinationValues = true;
cfg.CreateMap<ReservationSource, ReservationDestination>()
.ForMember(dest => dest.SeqNumber, o => o.MapFrom(src => src.SeqNo))
.ForPath(dest => dest.TravelDest, o => o.MapFrom(src => src.TravelSource.Trips));
IMapper mapper = config.CreateMapper();
var source = new ReservationSource
TravelSource = new Travel
new Trip { TrainNumber = "A0001" },
new Trip { TrainNumber = "B0001" }
var destination = mapper.Map<ReservationSource, ReservationDestination>(source);
Console.WriteLine(JsonConvert.SerializeObject(destination));
public class ReservationSource
public Travel TravelSource { get; set; }
public string SeqNo { get; set; }
public string TravelId { get; set; }
public ICollection<Trip> Trips { get; set; }
public string TrainNumber { get; set; }
public string Arrival { get; set; }
public class ReservationDestination
public Route[] TravelDest { get; set; }
public string SeqNumber { get; set; }
public string SequNumber { get; set; }
public string RouteId { get; set; }