У меня есть таблица GameVersion с FK (допускает нулевые значения) к игровому столу.Когда я делаю это:
GameVersion[] q = (from gv in db.GameVersion.Include("Game")
select gv).ToArray();
Все работает нормально, итерируя объекты GameVersion, я вижу пустые ссылки на Game в некоторых записях (как в базе данных), поэтому он работает как левое соединение.
Однако, когда я немного модифицирую запрос и добавляю поиск по названию игры
GameVersion[] q = (from gv in db.GameVersion.Include("Game")
where gv.Game.DisplayName.Contains("a")
select gv).ToArray();
Он внезапно ведет себя как внутреннее соединение (больше не выбирает нулевые ссылки).Я не совсем понимаю это поведение.Почему это происходит и как я могу заставить запрос работать?Я хочу выбрать все версии GameVersions, даже те, которые имеют Game == null plus, и применить условие к одному из столбцов Game.