Создание простого запроса Linq to EF для отношения «многие ко многим» - PullRequest
0 голосов
/ 06 мая 2010

У меня есть две таблицы «многие ко многим», для которых мне нужно написать запрос Entity Framework Linq. Все, что я хочу сделать - это извлечь из таблицы «Люди» людей, имеющих отношение к идентификатору компании = 7.

Может кто-нибудь дать мне представление о том, как это будет выглядеть?

Таблицы выглядят примерно так:

Люди, ID PK, Заглавие, Имя, Фамилия

People_Companies PersonID PK, CompanyID ПК,

Компании ID PK, Номер компании, Название компании, CompanyType,

SQL выглядит так:

SELECT     People_Companies.PersonID, People_Companies.CompanyID,Companies.ID,Companies.CompanyNumber, Companies.CompanyName, 
                  Companies.CompanyType, People.ID AS Expr1, People.Title, People.Forename, People.Surname, People_Companies.PersonID AS Expr2, People_Companies.CompanyID AS Expr3, Companies.ID AS Expr4, Companies.CompanyNumber AS Expr5, Companies.CompanyName AS Expr6
FROM         People INNER JOIN
                  People_Companies ON People.ID = People_Companies.PersonID INNER JOIN
                  Companies ON People_Companies.CompanyID = Companies.ID
WHERE     (People_Companies.CompanyID = 7)

1 Ответ

3 голосов
/ 06 мая 2010

1001 * попробовать *

var q = context.People.Where(p => p.Companies.Any(c => c.CompanyId == 7)).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...