パッケージ A にはデスクトップ Y が 1 台とモニター Z が 1 台含まれています。パッケージ B にはデスクトップ Y が 1 台とモニター Z が2 台含まれています。エンティティ デザイナーによって作成されたデータベースでその関係を表現したいと考えています。
と の間には多対多の関係がStandardPackage
ありStandardMachine
ます (デスクトップ、モニター、ラップトップなどがあります)。四半期ごとにパッケージを更新し、クライアントが注文します。彼らはパッケージを選択し、注文が行われると、そのパッケージのStandardMachines
データ (タイプ、メーカー、モデルなど) が新しく作成された にダンプされMachines
ます。
問題は、Entity Designer がStandardPackageStandardMachine
リレーションシップのジャンクション テーブルを作成する方法にあります。ジャンクション テーブルには、リレーションシップの両端にあるレコードの ID に対応する 2 つの列があり、ジャンクション テーブルの主キーは、これら 2 つの ID の組み合わせです。したがって、最初の段落の例で、パッケージ A の ID が 1、パッケージ B の ID が 2、デスクトップ Y の ID が 1、モニター Z の ID が 2 の場合、必要なのは
StandardPackageId | StandardMachineId
------------------|------------------
1 | 1
1 | 2
2 | 1
2 | 2
2 | 2
しかし、明らかに 2/2 レコードを 2 つ持つことはできません。
ジャンクション テーブルの自動インクリメント主キー列を作成するように、Entity Designer に何をしようとしているのかを伝える良い方法はありますか? それとも、ジャンクション テーブルを手動で作成し、関連付けを自分で処理する必要がありますか?
ところで、誰かが私の質問のタイトルを言い換える方法さえ知っていれば、そうしてください.