我有一个场景,我想忽略基类中定义的类的某些属性。
我有一个像这样的初始映射
Mapper.CreateMap<Node, NodeDto>()
.Include<Place, PlaceDto>()
.Include<Asset, AssetDto>();
然后我将其自定义为忽略基类 NodeDto 中定义的属性之一
Mapper.CreateMap<Node, NodeDto>()
.ForMember(dest => dest.ChildNodes, opt => opt.Ignore());
但是,当我尝试将 Place 映射到 PlaceDto 或将 Asset 映射到 AssetDto 时,ChildNodes 属性不会被忽略。所以我最终做了这样的事
Mapper.CreateMap<Node, NodeDto>()
.ForMember(dest => dest.ChildNodes, opt => opt.Ignore());
Mapper.CreateMap<Place, PlaceDto>()
.ForMember(dest => dest.ChildNodes, opt => opt.Ignore());
Mapper.CreateMap<Asset, AssetDto>()
.ForMember(dest => dest.ChildNodes, opt => opt.Ignore());
由于我有很多NodeDto的子类,上面的过程很麻烦,我想知道是否有更好的方法?
谢谢
纳比尔