У меня есть таблица с именем Game
, которая содержит 4 столбца для идентификаторов игроков. И у меня также есть таблица под названием Player
. Когда я пытаюсь сосчитать все игры, в которых играл игрок, я получаю игроков только из первого столбца таблицы Game
.
player.Games.Count();
Я установил внешние ключи для всех таблиц, и они правильно отображаются в конструкторе таблиц. На изображении ниже вы можете видеть, что он должен считаться с blue1 + 2 и red1 + 2, но он считается только с Blue1
...
![alt text](https://i.stack.imgur.com/ahio3.png)
Я также пытался создать метод, чтобы вручную выбрать все игры:
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.