Tengo un escenario en el que me gustaría ignorar algunas propiedades de las clases definidas en la clase base.Problema al ignorar la propiedad de la clase base en asignaciones de clases secundarias usando Automapper
tengo una cartografía inicial como este
Mapper.CreateMap<Node, NodeDto>()
.Include<Place, PlaceDto>()
.Include<Asset, AssetDto>();
Entonces modificó para requisitos particulares de la misma familia de ignorar una de las propiedades se define en la clase base NodeDto
Mapper.CreateMap<Node, NodeDto>()
.ForMember(dest => dest.ChildNodes, opt => opt.Ignore());
Sin embargo, cuando intento trazar, Colocar en PlaceDto o Asset en AssetDto, la propiedad ChildNodes no se ignora. Así que terminé haciendo soething como esto
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());
Ya que tengo un montón de clases hijas para NodeDto, el proceso anterior es engorroso, y me gustaría saber si hay un mejor enfoque?
Gracias Nabeel
Exactamente - plantillas o el uso de T4 (integrado en Visual Studio) –