0

我有一个存储在 SQL Server 数据库中的目录结构。因此,当客户端调用 Web API 时,它应该将结构作为 JSON 消息返回。

数据库表如下所示(这只是一个示例,还有比这更多的行):

Id  Name            ParentId    RootId
1   Directory 1       NULL        1
2   Directory 1.01     1          1
3   Directory 1.02     1          1
4   Directory 2       NULL        4
5   Directory 2.01     4          4
6   Directory 3       NULL        6
7   Directory 3.01     6          6

返回的 JSON 消息应如下所示:

"structure": [
      {
        "value": "Directory 1",
        "label": "Directory 1",
        "children": [
          {
            "value": "Directory 1.01",
            "label": "Directory 1.01"
          },
          {
            "value": "Directory 1.02",
            "label": "Directory 1.02"
          }
        ]
      },
      {
        "value": "Directory 2",
        "label": "Directory 2",
        "children": [
          {
            "value": "Directory 2.01",
            "label": "Directory 2.01"
          }
        ]
      },
      {
        "value": "Directory 3",
        "label": "Directory 3",
        "children": [
          {
            "value": "Directory 3.01",
            "label": "Directory 3.01"
          }
        ]
      },

以下是一些附加说明:

  • 当 RootID 有值(与 Id 相同)且 ParentId 为 NULL 时,它是根目录(如 Directory 1)。
  • 父目录可以有多个级别的子目录(或子目录)。我的示例只显示了一个顶级目录下的一个子目录。

我应该创建什么样的 LINQ 查询来获取所描述的 JSON 消息?无法绕开我的头...

谢谢!

4

0 回答 0