Construire JSON Hiérarchie à partir de Données Structurées

C# | .NET 4.5 | Entity Framework 5

J'ai des données de retour d'une Requête SQL dans la forme de ID,ParentID,Nom. J'aimerais que les données et les analyser dans un Hiérarchique chaîne JSON. Jusqu'à présent, il semble être beaucoup plus une tâche ardue qu'elle ne devrait l'être. Depuis que je suis en utilisant Entité de données revient bien pour moi comme un IEnumerable. Maintenant, je crois que j'ai juste besoin d'une certaine forme de récursivité, mais je ne suis pas tout à fait sûr où commencer. Toute aide est appréciée.

Données de Retours comme

id parentId nom 
1 1 TopLoc 
2 1 Loc1 
3 1 Loc2 
4 2 Loc1A 

Code est

public static string GetJsonLocationHierarchy(long locationID)
{
    using (EntitiesSettings context = new EntitiesSettings())
    {
        //IEnumerable of ID,ParentID,Name
        context.GetLocationHierarchy(locationID);
    }
}

Le résultat final que j'avais de l'espoir serait quelque chose comme ceci:

{
    "id": "1",
    "parentId": "1",
    "name": "TopLoc",
    "children": [
        {
            "id": "2",
            "parentId": "1",
            "name": "Loc1",
            "children": [
                {
                    "id": "4",
                    "parentId": "2",
                    "name": "Loc1A",
                    "children": [
                        {}
                    ]
                }
            ]
        },
        {
            "id": "3",
            "parentId": "1",
            "name": "Loc2",
            "children": [
                {}
            ]
        }
    ]
}
InformationsquelleAutor Will | 2013-10-08