3

特定の親に対してN個の子のカスケードツリー/リストを作成したいと思います。ここで、子は親になることもできます。

次のデータ構造があるとします。

CountryType = 1; ColorType = 3; StateType = 5
6,7,8 = {Can、US、Mex} 10、11、12 =
{Red、White、Blue}
20,21,22 = {California、Florida、Alberta}

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)

これはFluentNHibernateクラスでどのように表されますか?

いくつかの方向性をいただければ幸いです。

ありがとう。

4

2 に答える 2

1

このモデルがこれよりも複雑にならない場合は、NodeType enumプロパティ、Nameプロパティ、およびタイプTreeNodeのParentNodeプロパティを持つ単純なTreeNodeエンティティを使用します。

さまざまなノードタイプにさらに複雑さを加えることを計画している場合は、NodeTypeディスクリミネーターによってさまざまなノードタイプにサブクラス化されたTreeNodeエンティティを選択します。

于 2010-12-21T10:51:04.350 に答える
0

ツリーソリューションは優れていますが、この場合、デタッチタイプのデータモデルが最適です。

たとえば、私は与えられたリストを持っています。次に、そのリストの各アイテムを複数のアイテムに関連付けたいと思います。これは別のリストである可能性もあります。

したがって、私はLinkedListItemsと呼ばれるタイプです。これは基本的にアイテムですが、ParentIDフィールドという1つの追加情報が含まれているだけです。

これは、ツリータイプのデータモデルよりもうまく機能します。これは、セカンダリリストアイテムを複数のプライマリリストアイテムに関連付けることができるのに対し、ツリーモデルは1..*の関係を表すためです。

于 2011-01-14T19:39:20.483 に答える