自动映射地图递归菜单树

时间:2017-07-25 10:41:01

标签: c# automapper automapper-6

我按照说明操作 https://www.mikesdotnetting.com/article/255/entity-framework-recipe-hierarchical-data-management

现在我试图将我的实体映射到我的dtos,这是经常失败的。

我看到许多问题与此有关,但他们都没有"清洁"映射方式。 我这样开始......

CreateMap<MenuItem, DTO.MenuItem>()
    .ForMember(d => d.Children, opt => opt.MapFrom(src => src))
    .ForMember(d => d.Parent, opt => opt.MapFrom(src => src.Parent))
    .ForMember(d => d.MenuText, opt => opt.MapFrom(src => src.MenuText))
    .ForMember(d => d.LinkUrl, opt => opt.MapFrom(src => src.LinkUrl))
    .ForMember(d => d.MenuOrder, opt => opt.MapFrom(src => src.MenuOrder))
    .ForMember(d => d.ParentMenuItemId, opt => opt.MapFrom(src => src.ParentMenuItemId))
    .ForMember(d => d.MenuId, opt => opt.MapFrom(src => src.MenuId))
    .ForMember(d => d.MenuItemId, opt => opt.MapFrom(src => src.MenuItemId))
    .ForMember(d => d.Menu, opt => opt.MapFrom(src => src.Menu));

映射器应该如何知道要映射到哪个父元素?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)