World Of ιζσεα.

The Dark Time Will Pass

 

NetTiers学习笔记12---deepload的递归

deepload的递归指的是什么, 何时用deepload的递归?

让我举个例子来说明这些问题吧


以下我们以node来举例

数据结构

 

id是主键, pid是外键


生成后并使用deepload, deepload的参数说明可以看第一篇文章

Node node = DeepLoadById(1false, 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(1true, DeepLoadType.IncludeChildren, typeof(Node), typeof(TList<Node>));



 

好了, 这样便完成了 对id==1 的node 的读取, 并且读取出所有的父节点(递归)及子节点(递归) 

posted on 2008-09-19 21:55  Ψιζσεα.  阅读(1572)  评论(0编辑  收藏  举报

导航