2017-02-20 31 views
0

У меня есть класс игрока и игровой класс. Где игра состоит из двух игроков.C# сопоставление двух-двух отношений

Я создал модель данных, имея объект PlayerOne и PlayerTwo в игре, а в классе Player есть коллекция игр.

Альтернативой является наличие таблицы PlayerGames со столбцом для каждого PlayerIds и GameId. Есть ли предпочтительный вариант этих двух?

Это не стандарт многих для многих, и я должен держать игрока, который один и два забил.

ответ

1

Вы всегда можете создать двойное много-к-одному. Просто добавьте два внешних ключа, например. PlayerOne_id, PlayerTwo_id на ваш игровой стол. Другими словами, вы создаете класс игры с двумя свойствами PlayerOne и PlayerTwo. Это должно создать надлежащую структуру db.

+0

Так что нет необходимости в игровом столе для игроков? – Jackmagic1

+0

Если вы уверены, что всегда будут два игрока - да, вам не нужен стол соединения. – Dawid

1

Вы должны

Games: {game_id, player1_id, player2_id} 
Players: {player_id, name}