NetTiers学习笔记12---deepload的递归
deepload的递归指的是什么, 何时用deepload的递归?
让我举个例子来说明这些问题吧
以下我们以node来举例
数据结构
id是主键, pid是外键
生成后并使用deepload, deepload的参数说明可以看第一篇文章
Node node = DeepLoadById(1, false, DeepLoadType.IncludeChildren, typeof(Node), typeof(TList<Node>));
此时我们可以使用
node.PidSource 类型为Node
node.NodeCollection 类型为TList<Node>
node.NodeCollection[0] 类型为Node
分别表示父节点,和子节点集合
那么我们要取父节点的父节点该如何取呢?
聪明的宁一定想到了 node.PidSource.PidSource
可为什么取出来是null呢?
因为我们没有使用递归
我们将代码改为
Node node = DeepLoadById(1, true, DeepLoadType.IncludeChildren, typeof(Node), typeof(TList<Node>));
好了, 这样便完成了 对id==1 的node 的读取, 并且读取出所有的父节点(递归)及子节点(递归)