我有一個名爲Game
的表,其中有4列用於玩家ID。我也有一個名爲Player
的表格。當我嘗試計算一名玩家所在的所有遊戲時,我只能從Game
表中的第一列中獲得玩家。LINQ到SQL不包括所有列
player.Games.Count();
我已經爲所有表設置了外鍵,並且它在表設計器中正確顯示。從下面的圖片,你可以看到,它應該從藍天+ 2計數和RED1 + 2,但它只能從Blue1
計數......
我也試圖創建一個方法來手動選擇所有遊戲:
public int GetPlayerGames(int playerID)
{
return (from game in db.Games
where game.Blue1 == playerID
|| game.Blue2 == playerID
|| game.Red1 == playerID
|| game.Red2 == playerID
select game).Count();
}
但是,當我使用LINQ查詢裏面
return from player in db.Players
where GetPlayerGames(player.ID) > 0
select player;
我得到這個錯誤:
Method 'Int32 GetPlayerGames(Int32)' has no supported translation to SQL.
貌似玩呃是一對多的關係。在你的遊戲記錄中,是否有一個記錄所有玩家ID值都被填充? – 2010-09-02 10:55:44