2017-02-20 1 views
0

저는 Player 클래스와 게임 클래스가 있습니다. 게임에 두 명의 플레이어가있는 곳.C# 많은 관계 매핑

PlayerOne 및 PlayerTwo 개체가 게임 내에 있고 Player 클래스에 Games 컬렉션이있는 데이터 모델을 만들었습니다.

대신 각 PlayerIds 및 GameId에 대한 열이있는 PlayerGames 테이블을 사용하는 것이 좋습니다. 이 두 가지 중에서 선호하는 옵션이 있습니까?

많은 사람들에게 표준이 아니기 때문에 점수를 얻으려면 어느 플레이어를 1 대 2로 잡아야합니다.

답변

1

당신은 항상 이중 대일 관계를 만들 수 있어야합니다. 예를 들어 두 개의 외래 키를 추가하면됩니다. PlayerOne_id, PlayerTwo_id를 게임 테이블에 추가하십시오. 즉, PlayerOne과 PlayerTwo의 두 가지 속성을 가진 Game 클래스를 만듭니다. 적절한 db 구조를 생성해야합니다.

+0

그래서 플레이어 게임 테이블이 필요하지 않습니까? – Jackmagic1

+0

항상 두 명의 플레이어가있을 것이라고 확신하는 경우 - 예, 접합점 테이블이 필요하지 않습니다. – Dawid

1

당신은

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