0

我有一个方法,我试图通过 LINQ 查询返回一些数据库结果,但是 Visual Studio 不允许我使用 select 语句。这是我到目前为止所拥有的:

public static int GetCurrentUserDepartmentId(Guid userGuid)
{
    int departmentId = -1;

    using (PTMS_DataEntities entities = new PTMS_DataEntities())
    {
        var userDepartment = from employee in entities.Employees
                             join user in entities.aspnet_Users
                             on employee.User_Id equals user.UserId
                             where employee.User_Id equals userGuid                                     

        departmentId = (int)userDepartment;                
    }

    return departmentId;
}  

但是,在 LINQ 段中,我希望如下所示:

from employee in entities.Employees
join user in entities.aspnet_Users
on employee.User_Id equals user.UserId
where employee.User_Id equals userGuid  
select employee.Department_Id  

不允许我添加最后一个选择部分是否有特殊原因?

4

2 回答 2

2

纠正你的

where employee.User_Id equals userGuid 

where employee.User_Id == userGuid
于 2013-03-04T17:15:15.293 回答
2

问题在于您的 where 子句:

var userDepartment = from employee in entities.Employees
                         join user in entities.aspnet_Users
                         on employee.User_Id equals user.UserId
                         where employee.User_Id equals userGuid

应该:

var userDepartment = from employee in entities.Employees
                         join user in entities.aspnet_Users
                         on employee.User_Id equals user.UserId
                         where employee.User_Id == userGuid
                         select employee.Department_Id
于 2013-03-04T17:16:50.540 回答