C#多对两个关系映射

时间:2017-02-20 21:00:22

标签: c# sql entity-framework relational-database

我有一个Player类和一个游戏类。哪个游戏有两个玩家。

我通过在游戏中拥有一个PlayerOne和PlayerTwo对象来创建数据模型,而Player类有一个游戏集合。

另一种方法是让PlayerGames表包含每个PlayerIds和GameId的列。这两个是否有首选?

这不是很多人的标准,而且我必须保持哪个球员是一个和两个得分。

2 个答案:

答案 0 :(得分:1)

你应该

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

答案 1 :(得分:1)

您始终可以创建双重多对一关系。只需添加两个外键,例如PlayerOne_id,PlayerTwo_id到你的游戏桌。换句话说,您创建具有两个属性PlayerOne和PlayerTwo的Game类。这应该生成适当的数据库结构。