J'ai une table de catégorie auto référentiel que vous voyez:
analyse Table d'auto-jointure hiérarchique par niveau d'arbre?
Je veux analyser ce tableau pour connaître le niveau de l'arbre pour chaque catégorie. Par exemple, si le niveau du nœud racine est 0 alors CPU et Disque dur et VGA et RAM sont au niveau 1 et ainsi de suite. comment puis-je gérer cela?
J'ai créé un dictionnaire pour mettre chaque ID de catégorie et son niveau:
Dictionary<int, int> dic = new Dictionary<int, int>();
la clé est CategoryId et la valeur est de niveau. s'il vous plaît aidez-moi comment puis-je remplir le dictionnaire?
Si vous utilisez SQL 2008, vous pouvez modifier la table d'auto-référence pour utiliser le nouveau type de données HierarchyID qui est parfait pour les hiérarchies comme celle-ci. Sinon, vous aurez besoin d'utiliser un CTE comme CesarGon a dit ... sauf si vous voulez faire l'analyse dans le code C#. – Dismissile