与流利NHibernate的父母子女关系?

我想为给定的父级创建N个子级的级联树/列表,其中子级也可以成为父级。 鉴于以下数据结构: CountryType = 1;的ColorType = 3; StateType = 5 6,7,8 = {Can,US,Mex} 10,11,12 = {红色,白色,蓝色} 20,21,22 = {加州,佛罗里达,艾伯塔省}
TreeID  ListTypeID  ParentTreeID           ListItemID   
1            1       Null                   6   (Canada is a Country)
2            1       Null                   7   (US is a Country)
3            1       Null                   8   (Mexico is a Country)
4            3       3                      10  (Mexico has Red)
5            3       3                      11  (Mexico has White)
6            5       1                      22  (Alberta is in Canada)
7            5       7                      20  (California is in US)
8            5       7                      21  (Florida is in US)
9            3       6                     10  (Alberta is Red)
10           3       6                    12  (Alberta is Blue)
11          3       2                      10  (US is Red)
12          3       2                      11  (Us is Blue)
如何在Fluent NHibernate类中表示? 一些方向将不胜感激。 谢谢。     
已邀请:
如果这个模型没有比这复杂,我会选择一个简单的TreeNode实体,它具有NodeType枚举属性,Name属性和TreeNode类型的ParentNode属性。 如果你计划为不同的节点类型增加一些复杂性,我会选择一个由NodeType鉴别器子类化为不同节点类型的TreeNode实体。     
树解决方案很好,但在这种情况下,分离型数据模型最有效。 例如,我有一个给定的列表。然后,我想将该列表中的每个项目与多个项目相关联 - 这甚至可能是另一个列表。 因此,我是一个名为LinkedListItems的类型 - 它本质上是项目,只是它们包含一条额外的信息 - 一个ParentID字段。 这比树类型的数据模型更好,因为我现在可以将辅助列表项与多个主列表项关联,而树模型将表示1 .. *关系。     

要回复问题请先登录注册