所以,让我说我有一张与自身有关系的表,例如
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
有可能吗?或者我是否必须创建一个循环到每个元素的方法来创建变量?
答案 0 :(得分:1)
抱歉,你无法将Linq输出到数据库 - 你可能要么编写迭代函数,要么创建一个存储过程来为你完成。
类似的问题:
How does Entity Framework work with recursive hierarchies? Include() seems not to work with it
答案 1 :(得分:1)
您是否考虑过nested set model而不是父指针来映射数据库表中的层次结构关系?
(当然这不是一个答案,但可以指导你长期更好的道路)
答案 2 :(得分:0)
如果在模型中添加根节点属性,则可以查询两个级别:根节点,所有子节点都按根节点标识。然后,您可以针对内存中的实例进行递归以生成字符串。