我们如何从表中检索链接列表



我有如下所示的SQL Server表结构

Id   title   nextID
-------------------
1      w      2
2      x      3
3      y      4
4      z     null

如何使用实体框架以链表的形式获取结果?

喜欢这个

Id:1
tile:w
nextId:2
nextNode => Id:2
tile:x
nextId:3
nextNode => Id:3
tile:y
nextId:4
nextNode => Id:4
tile:z
nextId:null
nextNode:null

通常,您需要获取相关行,然后自己形成链表。假设数据在现实中更复杂(即存在不在同一链中的其他行(,这使得查询变得更加困难 - 您要么需要执行多次往返(当您迭代发现链中的下一个链接时(,要么您需要编写自己的递归 CTE(或 SQL 中的while循环, 如果您愿意(一次性获取整个链。在任何一种情况下,EF 都不会真正特意帮助你执行此操作 - 你将不得不自己执行此操作。当你这样做的时候,我想知道切换到hierarchyid作为实现是否更有意义(或至少:有意义(;据我了解:这应该允许您在单个查询中查询同一层次结构中的所有内容(请注意,在您的情况下,层次结构中的每个级别最多只有一个子级(

相关内容

  • 没有找到相关文章

最新更新