无法在LINQ查询中使用select

时间:2013-03-04 17:09:33

标签: asp.net linq entity-framework

我有一个方法,我试图通过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  

是否有一个特殊原因导致我无法添加最后一个选择部分?

2 个答案:

答案 0 :(得分:2)

纠正你的

where employee.User_Id equals userGuid 

where employee.User_Id == userGuid

答案 1 :(得分: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