【发布时间】:2022-01-07 01:27:11
【问题描述】:
我正在尝试使用自动映射器映射源实例和目标实例,
我有一个我创建的示例代码。第 82 行我正在尝试更改和使用自动映射器。是否可以在那里使用自动映射器。
【问题讨论】:
标签: c# asp.net-core .net-core mapping automapper
我正在尝试使用自动映射器映射源实例和目标实例,
我有一个我创建的示例代码。第 82 行我正在尝试更改和使用自动映射器。是否可以在那里使用自动映射器。
【问题讨论】:
标签: c# asp.net-core .net-core mapping automapper
是的,您可以映射一个列表,但在查看您的代码后,我认为您不需要为 destinationArray 字段提供列表或数组。如果需要将其用作数组,只需在destinationArray 之后使用adding.First():
public static IMapper CreateGroboBookingMapper()
{
var config = new MapperConfiguration(cfg =>
{
cfg.AllowNullDestinationValues = true;
cfg.CreateMap<Booking, DestinationBooking>()
.ForMember(dest => dest.processTypeField, opt => opt.MapFrom(src => src.processTypeField))
.ForMember(dest => dest.travelDate, opt => opt.MapFrom(src => src.Trip.Voyages.FirstOrDefault().DepartureDate))
.ForMember(dest => dest.destinationArrayField, opt => opt.MapFrom(a => new destinationArray()
{
// Here you can add destinationArray models parameters
arrivalStationIdField= a.Trip.Voyages.Select(x => x.arrivalStationId).FirstOrDefault().ToString(),
extraField = *************
}));
});
return config.CreateMapper();
}
这是调试的结果,因为我尝试了一个值:
【讨论】: