Возьмите этот сценарий:
Public class Base { public string Name; }
Public Class ClassA :Base { public int32 Number; }
Public Class ClassB :Base { Public string Description;}
Public Class DTO {
public string Name;
public int32 Number;
Public string Description;
}
У меня есть IList<Base>
мои карты:
AutoMapper.Mapper.CreateMap<IList<Base>, IList<DTO>>()
.ForMember(dest => dest.Number, opt => opt.Ignore())
.ForMember(dest => dest.Description, opt => opt.Ignore());
AutoMapper.Mapper.CreateMap<ClassA, DTo>()
.ForMember(dest => dest.Description, opt => opt.Ignore());
AutoMapper.Mapper.CreateMap<ClassB, DTO>()
.ForMember(dest => dest.Number, opt => opt.Ignore())
Mapper.AssertConfigurationIsValid(); //Is OK!
Но свойства, которые находятся в ClassA или ClassB, не отображаются, когда я это делаю:
IList<DTO>= AutoMapper.Mapper.Map<IList<Base>,IList<DTO>>(baseList);
Как сделать, чтобы отобразить свойства, определенные в ClasA
и ClassB