J'ai un scénario dans lequel je souhaite ignorer certaines propriétés des classes définies dans la classe de base.Problème lié à l'ignorance de la propriété de classe de base dans les mappages de classes enfants à l'aide de Automapper
J'ai une cartographie initiale comme celui-ci
Mapper.CreateMap<Node, NodeDto>()
.Include<Place, PlaceDto>()
.Include<Asset, AssetDto>();
Je personnalisé plus comme celui-ci d'ignorer l'une des propriétés définies dans la classe de base NodeDto
Mapper.CreateMap<Node, NodeDto>()
.ForMember(dest => dest.ChildNodes, opt => opt.Ignore());
Cependant lorsque je tente de la carte, Placez à PlaceDto ou Asset to AssetDto, la propriété ChildNodes n'est pas ignorée. Donc, je fini par faire soething comme celui-ci
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());
Depuis que j'ai beaucoup de classes d'enfants pour NodeDto, le processus ci-dessus est lourd, et je voudrais savoir s'il y a une meilleure approche?
Merci Nabeel
Exactement - ou utilisez des modèles T4 (intégrés à Visual Studio) –