2014-05-16 99 views
0

我在學習如何使用實體框架來創建我的數據庫。我的數據有一個多對多的關係。爲了簡化起見,可以將其想象爲想要爲今年的每場棒球比賽存儲陣容。多對多加入

我有一個遊戲類,包含關於遊戲的具體細節(日期,團隊,位置等)。我有一個Player類,其中包含關於每個玩家的細節。然後我有一個Lineup類,我希望這兩個表的多對多連接。

我期待(陣容)表是這樣的:

GameId int 
PlayerId int 

我沒有看到如何讓這樣的事情發生。要麼我得到一個GameId作爲PK和PlayerId作爲FK的表格,或者如果我使用[Key]屬性,我會被告知這個班級沒有關鍵字。

有關如何解決這個問題的任何想法?或者,我真的是唯一的選擇,首先創建數據庫,然後使用EF創建模型?

+0

您可以設置一個僞ID變量並將其標記爲[鍵]。 –

回答

0

您不爲多對多表創建類。

您的播放器類把

public virtual ICollection<Game> Games{ get; set; } 

。和一個

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

在遊戲類。實體框架然後理解這是一個多對多,並將創建一個GamePlayers表。

你需要把球員排列好嗎?如果是這樣,那麼你需要明確地創建一個GameId,PlayerId和Order的GamePlayers類,並且與Game和Player類都有一對多的關係。