Ich muss eine Baumstruktur zwischen Kategorien und Unterkategorien entwickeln. Ich verwende einen Handler, um die Beziehung zu generieren.Erstellen von Baumstruktur aus Kategorien und Unterkategorien und deren Unterkategorien
Zum Beispiel meine SQL-Tabelle enthält
GlobalID for top-level parents 1000 Id CategoryName ParentId 1 toyota 1000 2 ford 1000 5 prius 1 6 prius SP 5 7 prius SP blue 6 8 focus 2 9 mondeo 2 10 mustang 2 11 focus EX 8 ...
So sind die Kategorien sieht aus wie
toyota prius prius SP prius PS blue yaris auris ford focus focus EX mondeo mustang
etc
dieses Im gehend zu tun, um eine rekursive Programm whih Schleife Thorugh seine Kinderkategorien.
Aber wie kann ich die Baumstruktur hinzufügen und es an die aspx-Seite zurücksenden.
Der Code Ich verwende ist
// To get all the parent categories
List<Category> objChildren = new List<Category>();
public List<Category> GetCategories(int categoryId)
{
IQueryable<Category> cats = from ca in db.Categories
where ca.ParentId == categoryId && ca.ParentId != nonPageId
select ca;
return cats.ToList();
}
List<Category> parentCategories = GetCategories(1000);
foreach(Category _category in parentCategories)
{
GetChildCats(_category);
}
public void GetChildCats(Category cat)
{
objChildren.Add(cat);
List<Category> cats = GetCategories(cat.CatId);
if (cats.Count != 0)
{
foreach (Category cate in cats)
{
GetChildCats(cate);
}
}
}
Wie ein JSON-Baumstruktur auf der aspx Seite zurückzukehren wie diese
</pre>
So the categories looks like
<pre>
[0] => toyota
[0] => prius
[0] => prius SP
[0] => prius PS blue
[1] => yaris
[2] => auris
[1] => ford
[0] => focus
[0] => focus EX
[1] => mondeo
[2] => mustang
</pre>
Hallo Ich denke, die Eltern-ID macht keinen Unterschied, wie es Null oder 1000 gehalten werden kann. Aber ich kämpfe beim Hinzufügen der Child-Kategorie Liste und seine Kinder in einer verschachtelten Weise das oben erwähnte JSON-Format ausgeben. Ich kämpfe darum, diese Ausgabe zu bekommen. Danke – user840491
Es macht Sinn, wenn EF versucht, ein Elternteil mit der ID 1000 zu finden. Auch aus der Datenbankperspektive, wenn Sie 1000 setzen, können Sie die referenzielle Integrität nicht nutzen, Sie können keine FK setzen Dort. Wenn Sie das Objektmodell haben, wird jeder JSON-Serializer die Aufgabe übernehmen. – ivowiblo