【问题标题】:How to get all descendants of some node whis Linq-To-Entites?如何获取其 Linq-To-Entities 的某个节点的所有后代?
【发布时间】:2011-11-03 14:21:56
【问题描述】:

我需要递归获取某个节点的所有后代。例如,对于 Id=1 的节点,我需要获得以下后代:2、3、4、5、6。对于 Id=2 的节点,我需要获取节点:4、5、7。我怎样才能以最少的服务器请求赢得 Linq-To-Entites?

    | Id | ParentId | Name |
    ------------------------
    | 1  |    1     |  a   |
    ------------------------
    | 2  |    1     |  b   |
    ------------------------
    | 3  |    1     |  c   |
    ------------------------
    |  4 |    2     |  d   |
    ------------------------
    |  5 |    2     |  e   |
    ------------------------
    |  6 |    3     |  f   |
    ------------------------
    |  7 |    5     |  g   |

【问题讨论】:

标签: entity-framework c#-4.0 linq-to-entities recursive-query


【解决方案1】:

通过单个请求执行它的唯一方法是使用 ExecuteQuery 存储在 SQL 数据库中的函数。而这个存储函数将使用Common Table Expression 进行递归查询。

如果解决了问题,请将其标记为答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多