Ho uno scenario in cui vorrei ignorare alcune proprietà delle classi definite nella classe base.Problema con l'ignoranza della proprietà della classe di base nelle mappature delle classi child utilizzando Automapper
Ho una prima mappatura del genere
Mapper.CreateMap<Node, NodeDto>()
.Include<Place, PlaceDto>()
.Include<Asset, AssetDto>();
Poi ho adattato più come questo per ignorare una delle proprietà definito nella classe base NodeDto
Mapper.CreateMap<Node, NodeDto>()
.ForMember(dest => dest.ChildNodes, opt => opt.Ignore());
Tuttavia quando provo a tracciare, Da Place to PlaceDto o Asset a AssetDto, la proprietà ChildNodes non viene ignorata. Così ho finito per fare soething come questo
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());
Dal momento che ho un sacco di classi figlie per NodeDto, il processo di cui sopra è ingombrante, e vorrei sapere se v'è un approccio migliore?
Grazie Nabeel
Esattamente - o utilizzare i modelli T4 (integrati in Visual Studio) –