Return JSON 作为父子树视图 SQL table

Return JSON as a Treeview from parent-child SQL table

我需要 return 具有父子层次结构的 table 作为树视图 json。 谷歌搜索给出了模糊的代码,看起来太复杂了,或者做这样的事情应该很复杂? 将 .NET Web Api 与 Dapper 结合使用。我以前从未正确使用过 Dapper,但使用 Entity Framework 似乎更容易。或者我的模型和 table 结构有误?

CREATE TABLE Regions (
RegionId int NOT NULL PRIMARY KEY,
RegionName nvarchar(50) NOT NULL,
FK_RegionParentId int FOREIGN KEY REFERENCES Regions(RegionId)
);

这个 table

的型号
    public class Region
{
    public int RegionId { get; set; }
    public string RegionName { get; set; }
    public ICollection<Region> FK_ParentId { get; set; }

}

[
{
    "regionId": 1,
    "regionName": "Europe",
    "fK_ParentId": null
},
{
    "regionId": 2,
    "regionName": "Asia",
    "fK_ParentId": null
},
{
    "regionId": 3,
    "regionName": "Africa",
    "fK_ParentId": null
},
{
    "regionId": 4,
    "regionName": "France",
    "fK_ParentId": null
},
{
    "regionId": 5,
    "regionName": "India",
    "fK_ParentId": null
},
{
    "regionId": 6,
    "regionName": "China",
    "fK_ParentId": null
},
{
    "regionId": 7,
    "regionName": "Zimbabwe",
    "fK_ParentId": null
},
{
    "regionId": 8,
    "regionName": "Hong Kong",
    "fK_ParentId": null
},
{
    "regionId": 9,
    "regionName": "Beijing",
    "fK_ParentId": null
},
{
    "regionId": 10,
    "regionName": "Shanghai",
    "fK_ParentId": null
}

https://medium.com/dapper-net/one-to-many-mapping-with-dapper-55ae6a65cfd4 试试这个。看起来您正在尝试生成一个代表一对多关系的 Json 对象。我肯定会让这些命名约定不那么混乱。就像 table 名称的 Continent 和 Country。