Example #1
0
        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);
        }
Example #2
0
        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);
        }