Проблема с игнорированием свойства базового класса в отображениях дочерних классов с помощью Автокартопостроителя

У меня есть сценарий, где я хотел бы проигнорировать некоторые свойства классов, определенных в базовом классе.

У меня есть начальная буква, отображающаяся как это

   Mapper.CreateMap<Node, NodeDto>()
                .Include<Place, PlaceDto>()
                .Include<Asset, AssetDto>();

Затем я настроил его больше как это для игнорирования одного из свойств, определенных в базовом классе NodeDto

 Mapper.CreateMap<Node, NodeDto>()
                .ForMember(dest => dest.ChildNodes, opt => opt.Ignore());

Однако, когда я пытаюсь отобразиться, Поместить в PlaceDto или Актив в AssetDto, свойство ChildNodes не становится проигнорированным. Таким образом, я закончил тем, что делал soething как это

  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, вышеупомянутый процесс является громоздким, и я хотел бы знать, существует ли лучший подход?

Спасибо Nabeel

5
задан nabeelfarid 26 July 2010 в 16:39
поделиться