自动映射器映射,从泛型列表继承


    public class Flight {
        public CabinCollection Cabins { get; set; }
    }
    public class CabinCollection : List<Cabin>
    {
        public Cabin Lowest { set; get; }
    }

源类和目标类具有相同的成员

   1)  Mapper.Initialize(cfg => {
        cfg.CreateMap<Domain.Flight, Contract.Flight>();
        cfg.CreateMap<Domain.Cabin, Contract.Cabin>();
    });
    List<Flight> res = Mapper.Map<List<Flight>>(flights);

它有效,但成员"最低"为空

   2)  Mapper.Initialize(cfg => {
            cfg.CreateMap<Domain.Flight, Contract.Flight>();
            cfg.CreateMap<Domain.Cabin, Contract.Cabin>();
            cfg.CreateMap<Domain.CabinCollection,Contract.CabinColection>
                .IncludeBase<List<Domain.Cabin>, List<Contract.Cabin>>()
        });

它有效并且成员"最低"映射,但列表为空

有没有办法让它正确?

将其添加到您的配置中

cfg.CreateMap<Domain.CabinCollection, Contract.CabinCollectionDest>();

基本上自动映射器不知道如何映射CabinCollection对象

.net 小提琴链接显示此内容

最新更新