public void TestRecursion3() { LinqMapper.Materializer.RegisterAfterMap <RecursiveNodeA>((a) => { a.Text = a.Text + "_afterA"; }); LinqMapper.Materializer.RegisterAfterMap <RecursiveNodeB>((b) => { b.Text = b.Text + "_afterB"; }); var nodeA = new RecursiveNodeA() { Text = "node A", ChildrenA = new RecursiveNodeA[] { new RecursiveNodeA() { Text = "node A.1" } } }; //nodeB recursive var nodeB = new RecursiveNodeB { Text = "node B", ChildrenA = new RecursiveNodeA[] { new RecursiveNodeA() { Text = "node BA.1" }, nodeA } }; nodeA.ChildrenB = new RecursiveNodeB[] { nodeB }; LinqMapper.Materializer.ApplyAfterMap(nodeA, null); }
public void TestRecursion2() { var nodeA = new RecursiveNodeA() { Text = "node A", ChildrenA = new RecursiveNodeA[] { new RecursiveNodeA() { Text = "node A.1" } } }; var nodeB = new RecursiveNodeB { Text = "node B", ChildrenA = new RecursiveNodeA[] { new RecursiveNodeA() { Text = "node BA.1" } } }; nodeA.ChildrenB = new RecursiveNodeB[] { nodeB }; LinqMapper.Materializer.ApplyAfterMap(nodeA, null); LinqMapper.Materializer.ApplyAfterMap(nodeA, null); }