使用外键返回iqueryable(myEntity的)的linq到sql
在使用外键关系时,我尝试使用Linq to SQL返回IQueryable(of Project)。使用下面的模式,我希望能够传入用户ID并获取为用户关联的公司创建的所有项目 数据库表:使用外键返回iqueryable(myEntity的)的linq到sql,linq,linq-to-sql,foreign-keys,Linq,Linq To Sql,Foreign Keys,在使用外键关系时,我尝试使用Linq to SQL返回IQueryable(of Project)。使用下面的模式,我希望能够传入用户ID并获取为用户关联的公司创建的所有项目 数据库表: Projects Projid ProjCreator FK (UserId from UserInfo table) Companyid FK (CompanyID from Companies table) UserInfo UserID PK Companyid FK Compan
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(of project)的语法时遇到了问题。下面给出了iqueryable(of anonymous),但我似乎无法说服它为我提供iqueryable(of project),即使我尝试强制转换它:
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)
只需选择项目:
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)
哈哈哈!我是个笨蛋!我在()外面试过,它冲我吠叫。谢谢,约翰!