2010-11-03 26 views
0
var studentDetails = from aspUser in db.aspnet_Users 
join aspMembership in db.aspnet_Memberships on 
    aspUser.UserId equals aspMembership.UserId 
join expUser in db.explore_users on 
      aspUser.UserId equals expUser.aspnetUserId 
       where expUser.Id.Equals(studID) 
       select new { expUser.DOB, 
          aspMembership.Email, 
          aspUser.UserName, 
          aspUser.LoweredUserName, 
          expUser.Id }; 

gv1.DataSource = studentDetails; 
gv1.DataBind(); 

我不知道为什么这不起作用。当我删除where子句时,一切都在运行。 我已经尽量把其中expUser.Id == studID也没有工作linq where多个连接表的子句问题

如果有人能帮助我PLS

+3

那么,你会得到什么错误? – 2010-11-03 08:21:58

+2

'Id'和'studID'是什么类型?他们甚至是匹配类型? – 2010-11-03 08:27:53

回答

1

难道不应该被where expUser.aspnetUserId.Equals(studID)

如果ID是正确的列,那么(已经评论过)expUser.ID和变量studID是什么类型?他们是同一类型的吗?如果是,那么studID值是否存在于db.explore_users中?

+0

nope,aspnetUserID是aspnet成员资格ID。 – wibi 2010-11-03 08:49:11

+0

它修复了,这是我的坏studID上哪里子句没有正确传递给功能。 – wibi 2010-11-05 04:54:05