MVVM 模式下,treeview 绑定的数据源对应的数据库表应该如何设计

MVVM 模式下,treeview 绑定的数据源对应的数据库表应该怎么设计?
比如部门树,Model可以这么设计
Class Depart
{
public string departId;
public string departName;

public ObservableCollection<Depart> departs;

}
对应到数据库的表怎么能很好的体现这种关系呢?

以前别的语言都是这样做
depart
{
departId
departName
parentId //父级部门的id
}

------解决方案--------------------
我觉得这个好办。

1. 你设计一张表Depart表 属性是ID,Name,ParentDepartID

比如数据存在:
1,"A",-1 (-1我想代表不存在父部门,或者你用0代替)
2,"B",-1
3,"C",1
4,"D",1
5,"E",2

这样的话,必须你现在取到部门ID是1的一条数据,你想查它的子部门,你再写一条sql语句:
select * from Depart where ParentDepartID=1 把这些记录放在你的ObservableCollection里
不就是你的class所描述的了
------解决方案--------------------
真个还则真的不好设计,树的数据库处理应该有专门的类似处理,楼主 可以查一下树形数据库处理
------解决方案--------------------
帮顶一下,楼主试过Entity Framework的Model First方式吗?Model First方式时Model是怎么设计的,生成数据库时又是怎么对应的?