2017-02-20 4 views
0

私はPlayerクラスとゲームクラスを持っています。ゲームに2人のプレーヤーがいる場合。C#多対2リレーションシップマッピング

私は、ゲーム内にPlayerOneとPlayerTwoオブジェクトを持ち、Playerクラスにゲームのコレクションがあることでデータモデルを作成しました。

代わりに、各PlayerIdsとGameIdの列を持つPlayerGamesテーブルを使用することもできます。 2つのオプションがありますか?

これは多くの人にとって標準的なものではなく、スコアするにはどちらのプレーヤーが1と2であるかを保つ必要があります。

答えて

1

を持つ必要があります。例えば2つの外部キーを追加するだけです。 PlayerOne_id、PlayerTwo_idをゲームテーブルに追加します。つまり、PlayerOneとPlayerTwoの2つのプロパティを持つGameクラスを作成します。それは適切なDB構造を生成するはずです。

+0

だから、プレイヤーのゲームテーブルは必要ありませんか? – Jackmagic1

+0

常に2人のプレイヤーがいることが確かな場合 - はい、ジャンクションテーブルは必要ありません。 – Dawid

1

あなたは常に、二重多対1の関係を作成することができます

Games: {game_id, player1_id, player2_id} 
Players: {player_id, name} 
関連する問題