许多人加入

时间:2014-05-16 16:52:30

标签: c# entity-framework ef-code-first

我试图学习如何使用Entity Framework来创建我的数据库。我的数据中有多对多的关系。为了简化起见,将其视为想要为今年的每场棒球比赛存储阵容。

我有一个Game类,其中包含有关游戏的详细信息(日期,团队,位置等)。我有一个Player课程,其中包含有关每个玩家的详细信息。然后我有一个Lineup类,我期望这两个表的多对多连接。

我期待的表格(阵容)看起来像这样:

GameId  int
PlayerId int

我没有看到如何实现这一点。要么我得到一个将GameId作为PK而PlayerId作为FK的表,或者如果我使用[Key]属性,我会被告知该类没有按键设置。

有关如何处理此问题的任何想法?或者,我唯一的选择是先创建数据库,然后使用EF创建模型吗?

1 个答案:

答案 0 :(得分:0)

您不为多对多表创建类。

你放了一个

public virtual ICollection<Game> Games{ get; set; }
在Player类中

public virtual ICollection<Player> Players { get; set; }

在Game类中。实体框架然后理解这是一个多对多,并将创建一个GamePlayers表。

你需要把球员整理好吗?如果是这样,那么你需要使用GameId,PlayerId和Order显式创建一个GamePlayers类,并且与Game类和Player类具有一对多的关系。