0

我正在尝试创建使用宁静服务器来控制多人游戏的游戏

该游戏是一个有 2 名玩家的棋盘游戏,但我怀疑如何创建我的数据库,所以这很有意义

一个玩家将拥有一个 gameID 的外键,但另一个玩家也有(玩家 1 和玩家 2)

所以如果我的游戏模型有类似的东西

public virtual GameId {get;set;}
......
public virtual Player1Id {get;set;}
public virtual Player2Id {get;set;}

那么当 PlayerId 可以同时位于游戏模型中的 Player1 和 Player2 位置时,我应该如何创建数据库?FK每次都无法链接到某个位置,这就是我的担心

Ps 我的数据库经验相当有限

4

1 回答 1

1

您的游戏对象不需要 PlayerId。玩家对象需要一个 GameId 来引用它。

这将创建一个一对多的关系。每个游戏都有很多玩家。尽管实际上在您的情况下,您描述的是一场比赛只有两名球员。

另一种选择是将 PlayerOneId 和 PlayerTwoId 作为外键,从而创建两个一对一的关系。

于 2012-05-08T13:35:49.917 回答