2010-07-26 67 views
1

我遇到了一個問題,我試圖忽略屬性內的屬性。例如使用Automapper忽略嵌套屬性的問題

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

我得到以下異常:

{"Expression 'dest => dest.NodeType.EntityType.Properties' must resolve to top-level member.\r\nParameter name: lambdaExpression"} 

任何想法?

回答

1

好吧,我設法弄清楚了自己。我必須在自己的dto映射中指定嵌套屬性選項。不過,讓我知道是否有另一種更好的方式做到這一點

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