In den letzten 2 Tagen habe ich versucht, die untergeordneten Knoten zu berechnen, die in C# unter dem bestimmten Elternteil kommen. Grundsätzlich habe ich in meiner Datenbank eine SQL-Tabelle mit 2 Spalten: user_id, Users_parentId. Beispiel:Wie zählen die gesamten untergeordneten Knoten unter dem bestimmten Elternteil in C#?
__________________________
User_Id | Users_parentId
__________________________
100 | Noparent(main)
--------------------------
101 | 100(first User)
--------------------------
102 | 100
--------------------------
103 | 100
--------------------------
104 | 102 (3rd User)
--------------------------
105 | 100
--------------------------
106 | 102
--------------------------
107 | 102
--------------------------
111 | 107 (8th user)
--------------------------
112 | 107
--------------------------
115 | 105 (6th user)
--------------------------
222 | 105
--------------------------
225 | 112
--------------------------
336 | 112
--------------------------
666 | 112
Wenn wir einen Baum aus der obigen Tabelle erzeugen, dann wird es so aussehen:
100 ----------^------------- | | | | 101 102 103 105 --------^------ ----^-------- | | | | | 104 106 107 115 222 ------^----- | | 111 112 ------^------ | | | 225 336 666
Also in meinem Projekt mag ich alle Kinder berechnen kommt unter die 100
Grundsätzlich habe ich versucht mit get child list und dann zählen sie ihr Kind, und wenn sie dann wieder greifen grand_child die untergeordnete Liste und so weiter, rekursiv.
Ich habe versucht mit for-Schleifen und foreach-Schleifen, aber habe keine Lösung gefunden.
Ich möchte insgesamt Summe Kind (bedeutet jetzt 100 enthält 14 Kind) beim Laden der Seite Ereignis.
Wenn Benutzer sich anmeldet, möchte ich zu diesem Zeitpunkt alle Kinder berechnen, die unter ihn kommen.
Ich benutze Entity Framework und LINQ auf die Datenbank zuzugreifen, My Name der Datenbank GetUnitedDB ist ist Tablename Office_Detail
Wenn es irgendwelche Fehler oder unvollständige Informationen über zur Verfügung gestellt, informieren Sie mich bitte. Und bitte schlagen Sie Logik in C# vor.
Ok, aber ich will es in C# ... so können Sie mir helfen in C# –
Was ist _UserTree_ Sie in Ihrem Code verwendet ... ?? –
Überprüfen Sie das Update – Moshezaurus