Так что есть модель объекта TreeNode
:Отображение данных смежности Список модели с AutoMapper
Public Class TreeNode{
Public int NodeId {get;set;}
Public String Name {get;set;}
Public int ParentId {get;set;}
Public TreeNode Parent {get;set;}
Public List<TreeNode> Children {get;set;}
}
Эта структура работает от баз данных с использованием Adjacency List Pattern. Я использую службу WCF с AutoMapper, чтобы заполнить классы модели.
Я хочу сделать что-то вроде этого:
public static void ConfigureMappings()
{
Mapper.CreateMap<TreeNodeDto, Taxonomy>()
.AfterMap((s, d) =>
{
//WCF service calls to get parent and children
d.Children = Mapper.Map<TreeNodeDto[], TreeNode[]>(client.GetTreeChildren(s)).ToList();
d.Parent = Mapper.Map<TreeNodeDto, TreeNode>(client.GetTreeParent(s));
});
}
Но, очевидно, это вызывает бесконечный цикл (он будет работать, если я только карта дети Тхо). Есть ли способ заполнить мою древовидную структуру с помощью AutoMapper?
Ну. при дальнейшем осмотре я понимаю, что это решение работает только в том случае, если вы начинаете с вершины дерева. – NSjonas