Entity Framework игнорирует внутреннее соединение - PullRequest
1 голос
/ 06 сентября 2011

Мой запрос LINQ объединяет две таблицы в EF 4.1, но когда я смотрю на SQL Profiler, он просто выполняет базовый выбор только из одной из таблиц.Объединение игнорируется.Я перепробовал много вариантов запроса LINQ, но получил тот же результат.Странно то, что внутренние объединения работают в другом месте моего приложения.Я не могу иметь никакого смысла из этого.Я близок к тому, чтобы сдаться и просто вызвать хранимую процедуру, но предпочел бы этого не делать.Вот несколько примеров того, что я попробовал:

Обратите внимание, что SQL Profiler всегда дает мне: SELECT * FROM Protocols.

from s in db.Staff
join p in db.Protocols on s.ID equals p.PIID
select p

from s in db.Staff
from p in db.Protocols
where p.PIID == s.ID
select p

from s in db.Staff
from p in db.Protocols
where p.PIID == s.ID && s.ID = 99
select p

Если я в конце наберу select s, то Staff таблица включена, но это явно не то, что я хочу, потому что мне нужны данные из таблицы протокола.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...