سلام رفیق،
برای ذخیره درخت تو جدول باید یک فیلد ChildID و یک فیلد ParentID داشته باشی بعد یک Join بین ChildID (که کلید اصلی هست) و ParentID (که کلید خارجی هست) ایجاد کنی که به Self Referential Join مشهور هست. بعد توی Application باید به روش بازگشتی درخت رو پیمایش کنی:
private void TraverseNode(TreeNode node)
{
foreach nd in node.nodes
//do what you want
end loop
foreach nod in node.nodes
TraverseNode(nd) // این خط خود تابع را صدا می زند یعنی بازگشتی
end loop
}
تابع بالا شبه کد هست که ابتدا باید گره ریشه رو پاس بدی بقیه Node ها رو خودش پیمایش می کنه.