![]() |
1
1
我不认为您可以在一个查询中完成它,我的想法是:有效地发现一个项的父项需要表本身的一个连接。每一个额外的菜单级别都需要一个表自身的连接。您需要多少个连接/附加级别才能到达根目录?你不表演就不知道了,对吧?因此,无论是在数据库/SQL方面,还是在linqtosql中,您都必须一步一步地执行每个步骤。 如果你知道你的菜单系统不会超出一定的深度,我想你可以设置一个LINQ-to-SQL查询,把表和它本身连接起来那么多次,但是这听起来很难听。
我建议在DBML设计器中设置表与自身的关联,这将为您提供一个父表
以下是一些相关的SO问题: https://stackoverflow.com/questions/1435229/hierarchy-problem-replace-recursion-with-linq-join LINQ to SQL for self-referencing tables? 下面是对该问题的服务器端/SQL处理: http://www.sqlteam.com/article/more-trees-hierarchies-in-sql 有人写了一些帮助程序代码: |
![]() |
Rm558 · 是否可以更改XML类型上的LINQPad代码生成? 6 年前 |
![]() |
MJK · 规范模式-使用ICollection实现表达式 7 年前 |
![]() |
Roland Ebner · 为实体框架多对多关系构建表达式树? 7 年前 |