自动映射器未映射已配置的成员

时间:2019-01-02 16:06:02

标签: configuration automapper

这是我第一次尝试利用AutoMapper MapperConfiguration。在下面的代码中,我的源是OrderItem对象,而我的目的地是AvailableRoll对象,但是,当我运行代码时,只会填充最后映射的项目。

private List<AvailableRoll> MapOrderItemsToAvailableRolls(List<Data.Winder.OrderItem> orderItems) {
    var rtrn = new List<AvailableRoll>();
    var config = new MapperConfiguration(cfg => {
        cfg.CreateMap<Data.Winder.OrderItem, AvailableRoll>().ForMember(ar => ar.Diameter, oi => oi.MapFrom(x => x.RollDiameter));
        cfg.CreateMap<Data.Winder.OrderItem, AvailableRoll>().ForMember(ar => ar.Item, oi => oi.MapFrom(x => x.ItemNumber));
        cfg.CreateMap<Data.Winder.OrderItem, AvailableRoll>().ForMember(ar => ar.RollsPlanned, oi => oi.MapFrom(x => x.EstimatedNumberRolls));
});
    var mapper = config.CreateMapper();
    mapper.Map(orderItems, rtrn);
    return rtrn;

运行代码时,仅填充RollsPlanned。如果我将“直径”或“项目”移动到“已计划的卷”下方,则将填充该成员。我究竟做错了什么? TIA!

更新: 需求已更改-不再需要映射这些类,因此目前我将不再继续进行。

0 个答案:

没有答案