Automapper如何将一个对象的属性分配给两个相同类型的对象的属性

Automapper How to devide properties from one object to properties of two objects same type

我有一个对象 AllDriversDetails,其中包含两个驱动程序的数据:第一个和第二个。

public class AllDriversDetails
{
    public string FirstDriverId { get; set; }
    public string FirstDriverName { get; set; }
    public string SecondDriverId { get; set; }
    public string SecondDriverName { get; set; }
}

我必须将 AllDriversDetails 转换为具有两个相同类型属性的 ComplexDriversDetails

public class ComplexDriversDetails
{
   public DriverDetails FirstDriver { get; set; }

   public DriverDetails SecondDriver { get; set; }
}

public class DriverDetails
{
   public string Id { get; set; }
   public string Name { get; set; }
}

是否可以使用自动映射器?

我的应该没问题。尝试这样的事情

    Mapper.CreateMap<AllDriversDetails, ComplexDriversDetails>()
   .ForMember(m => m.FirstDriver, opt => opt.MapFrom(src => new DriverDetails  {Id = src.FirstDriverId, Name = FirstDriverName }))
           .ForMember(m => m.SecondDriver , opt => opt.MapFrom(src => new DriverDetails  {Id = src.SecondDriverId, Name = SecondDriverName }))

您可以在此处找到更多信息:http://cpratt.co/using-automapper-creating-mappings/