Нужно создать класс примерно такого вида:
class Item
{
public string Name {get;set;}
public IEnumerable<Item> Children
{
get {/* тут код получения из базы подчинённых элементов*/}
}
}
Получить список элементов верхнего уровня и присвоить ItemsSource у TreeView.
У TreeView в описании шаблона для элемента (ItemTemplate) описать HierarchicalDataTemplate и указать свойство для получения подчинённых элементов в ItemsSource={Binding Children}.
<TreeView>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>