2012-03-06 73 views
1

所以我们可以说,我有与自身的关系的表,例如执行递归LINQ

Table Page 
------------- 
IDPage 
description  
IDPage_FK <-- foreign key 

现在这个表它是由这样的

Class Page 
----------- 
int IDPage 
string description 
int IDPage_FK 
Page Page1 
IColletion<Page> Page2 

我想要的实体框架映射归档如果可能的话,它创建了一个linq表达式来导航所有的表格,在字符串变量中输出这样的结果:

假设表中的这个值为

IDPage Description IDPage_FK 

1   Example  null 

2   Example2   1 

3   Example3   2 

上一个字符串变量

string inheritance = (from P in Page Select....) 

这种输出的输出会是这样

Example > Example2 > Example3 

这是可能的吗?或者我是否必须创建一个方法来循环到每个元素中创建变量?

回答

1

您曾经考虑过nested set model,而不是在数据库表映射层次关系父指针?

(当然这不是一个答案,但可以引导你下来一个更好的道路长期)

0

如果添加一个根节点属性到模型中,可以查询两个层次:根节点,所有的子节点通过根节点ID。然后,您可以缓冲内存中的实例以生成您的字符串。