我有3個表(和相應的實體在實體模型) 遊戲: 標識 - primay關鍵 ...等欄目如何獲取ADO.NET實體模型中的外鍵?
球員: 標識 - 主鍵 ...等欄目
的遊戲玩家(玩家可以參加多場比賽) 遊戲ID - >國外從遊戲 PlayerId鍵 - >國外從玩家 鍵...等欄目
在我的代碼,我有遊戲ID和p layerId可通過'其他方式提供給我。使用這個我想知道玩家(playerId)是否參與特定遊戲(gameId)。所以我這樣做:(實體是我的上下文對象)
的IQueryable查詢= entities.GamePlayer.where(GP =>((gp.Game.Id ==遊戲ID)& &(gp.Player.Id = = playerId))) 如果查詢返回一行,那麼我知道該玩家正在參與該遊戲。
我讀了多個關於實體引用的MSDN博客,我很困惑。看來,MSDN建議首先我必須檢查IsLoaded的EntityReference對象,如果沒有加載,我必須加載實體,然後我應該在查詢中使用它。
GamePlayer確實有GamePlayer.GameReference和GamePlayer.PlayerReference,但我無法檢查是否加載了引用,因爲我手頭沒有GamePlayer對象。 GamePlayer表格包含兩個1 ... *關係,以及它的相關信息。我必須使用GameId和PlayerId來查詢GamePlayer。我在這裏做錯了什麼?
我應該改爲使用Player(或Game)對象(使用它們的Id)並檢查GamePlayer實體集合嗎? Sql非常簡單。如果這太天真了,對不起,我很難將我的sql查詢翻譯成實體查詢。