1

データベース内のOne-Manyリレーションシップからクラスに戻す追加のプロパティをモデル化するにはどうすればよいですか?

たとえば、Model、Manager、Model_Managerの3つのテーブルがあります。Model_Managerテーブルには、ModelId、ManagerId、および2つの追加プロパティ(PercentageとOwner)があります。

最初に、ManagerとModelの2つのクラスを作成しました。Modelクラスには、1-ManyリンクをキャプチャするためのManagerのコレクションが含まれています。

しかし、ここで、追加のパーセンテージと所有者のプロパティをどこに配置しますか。「実際の」クラスでなくても、実際にModel_Managerクラスをデザインに含めることは理にかなっていますか?

4

4 に答える 4

2

これは、余分なデータを持つ多対多の関係です。これは通常、2 つの 1 対多の関係としてモデル化されます。はい、Model_Manager クラスが必要ですが、より適切な名前 (ManagedModel?) を検討することもできます。Model と Manager はそれぞれ、Model_Manager と 1 対多の関係にあります。

于 2009-06-15T19:55:30.933 に答える
1

追加の 2 つのプロパティはリンク属性であるため、managerID と 2 つの追加フィールドをモデル化するクラスで表す必要があるようです

于 2009-06-15T19:57:06.983 に答える
0

おそらく、すべてのマネージャーには、一定の割合で管理できる一連のモデルがあるので...

Model オブジェクトへのポインターと追加のプロパティを含む ManagedModel クラスを作成します。次に、各 Manager が一連の ManagedModel オブジェクトを持つことができます。

于 2009-06-15T19:55:49.453 に答える
0

はい、あなたが説明したことから、ModelManager クラスは理にかなっています。モデルには ModelManagers のリストがあり、ModelManager クラスには Manager、Percentage、および Owner があります。

于 2009-06-15T19:57:43.007 に答える