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

时间:2010-05-04 19:56:13

标签: linq linq-to-sql foreign-keys

我正在尝试使用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

当简单地使用ProjectCreator时,我可以得到iqueryable(项目):

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)

1 个答案:

答案 0 :(得分: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)
相关问题