2010-05-04 1 views
0

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

DB таблицы:.

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 (анонимной), но я не могу показаться, чтобы убедить его в том, чтобы дать мне 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) 

ответ

0

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

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) 
+0

Ха-ха-ха! Я костяшка! Я попробовал это снаружи(), и он рявкнул на меня. Спасибо, Джон! – GernBlandston