Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用外键返回iqueryable(myEntity的)的linq到sql_Linq_Linq To Sql_Foreign Keys - Fatal编程技术网

使用外键返回iqueryable(myEntity的)的linq到sql

使用外键返回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

在使用外键关系时,我尝试使用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

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)

哈哈哈!我是个笨蛋!我在()外面试过,它冲我吠叫。谢谢,约翰!