如何使用 Automapper 避免复杂结构的 foreach [关闭]
Posted
技术标签:
【中文标题】如何使用 Automapper 避免复杂结构的 foreach [关闭]【英文标题】:How to use Automapper toavoid foreach for complex structure [closed] 【发布时间】:2022-01-07 01:27:11 【问题描述】:我正在尝试使用自动映射器映射源实例和目标实例,
我有一个我创建的示例代码。第 82 行我正在尝试更改和使用自动映射器。是否可以在那里使用自动映射器。
https://dotnetfiddle.net/bzp9H7
【问题讨论】:
【参考方案1】:是的,您可以映射一个列表,但在查看您的代码后,我认为您不需要为 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();
这是调试的结果,因为我尝试了一个值:
【讨论】:
以上是关于如何使用 Automapper 避免复杂结构的 foreach [关闭]的主要内容,如果未能解决你的问题,请参考以下文章