2017-12-27 10 views
-1

내가에서이 문제와 유사한 요구 사항이 : 내 경우 What is the most efficient/elegant way to parse a flat table into a tree?테이블에서 트리 구조를 생성 하시겠습니까?

을 잠재적으로 행의 수백만을 포함 할 수있는 테이블은 루트 노드 구조의 깊이는 6 약 5 수 있지만 수 노드의 폭은 매우 커질 수 있습니다.

저는 엔티티 프레임 워크 C#을 사용하고 있으며 엔티티를 통해 구조를 파악할 수있는 빠르고 효율적인 알고리즘이 있습니까? 당신이 DataTable에있는 경우

+0

나는 귀하의 질문에 충분히 포함 확실하지 않다 :

private void FillTree(TreeNode pnode,DataTable data) { DataRow[] cnodes = data.Select("catparent=" + pnode.Tag.ToString()); foreach (DataRow crow in cnodes) { TreeNode ctn = new TreeNode(crow["catname"].ToString()); ctn.Name = "Cat" + crow["cat_id"].ToString(); ctn.Tag = crow["cat_id"].ToString(); pnode.Nodes.Add(ctn); FillTree(ctn, data); } } 

이 내 테이블 구조 답변을 형성하는 정보 및 stackoverflow에 대한 범위 내에서 주제/범위 내에 있을지 확실하지 않은 경우 –

답변

0

, 당신이 (재귀 함수) 같은 것을 시도 할 수 있습니다 :

This is my table structure:

+0

제 경우에는 태그가있는 RootTreeNode = 0을 전달하므로 처음에는 모든 부모 노드 또는 주 노드를 가져옵니다. 카테고리에 추가하고 unde를 추가하십시오. r 루트 노드. – maddy23285