我有一个存储在 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 消息?无法绕开我的头...
谢谢!