linq to sql с использованием внешних ключей, возвращающих iqueryable (myEntity] - PullRequest
0 голосов
/ 04 мая 2010

Я пытаюсь использовать Linq to SQL для возврата IQueryable (из Project) при использовании отношений внешнего ключа. Используя приведенную ниже схему, я хочу иметь возможность передать UserId и получить все проекты, созданные для компании, с которой связан пользователь.

Таблицы БД:

Projects
  Projid
  ProjCreator FK (UserId from UserInfo table)
  Companyid FK (CompanyID from Companies table)

UserInfo
  UserID PK
  Companyid FK

Companies
 CompanyId PK
 Description

Я могу получить iqueryable (проекта), просто получив ProjectCreator с этим:

Return (From p In db.Projects _
 Where p.ProjectCreator = Me.UserId)

Но у меня возникают проблемы с получением синтаксиса для получения запрашиваемых (проектов) при использовании внешних ключей. Ниже приведен IQueryable (анонимный), но я не могу убедить его в том, что он дает IQueryable (проекта), даже если я пытаюсь его разыграть:

  Dim retval = (From p In db.Projects _
    Join c In db.Companies On p.CompanyId Equals c.CompanyId _
     Join u In db.UserInfos On u.CompanyId Equals c.CompanyId _
      Where u.Login = UserId)

1 Ответ

0 голосов
/ 05 мая 2010

Просто выберите проект:

Dim retval = (From p In db.Projects _
  Join c In db.Companies On p.CompanyId Equals c.CompanyId _
   Join u In db.UserInfos On u.CompanyId Equals c.CompanyId _
    Where u.Login = UserId _
     Select p)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...