我想将表列EmployeeAccess.EmpNo内部连接到视图列VIEW_HCM.EmpNo

public List<EmployeeAccess> EmployeeAccess4()
{
    var emp = from b in contxt.EmployeeAccesses
              join c in contxt.View_HCM on b.EmpNo equals c.EmpNo
              select new
              {
                  b.EmpNo,
                  c.EmailAddress
              };

}


我收到join错误:


  此联合子句的表达式之一的类型不正确。调用“ join”时类型推断失败。

最佳答案

您的字段之一是Nullable。我并不是说您有空值,只是类型是nullable

.Value添加到Nullable字段中以将它们连接起来(我只是将二者都放在上面,因为在不查看您的DDL的情况下我不知道它是哪一个):

 var emp = from b in contxt.EmployeeAccesses
              join c in contxt.View_HCM on b.EmpNo.Value equals c.EmpNo.Value
              select new
              {
                  b.EmpNo,
                  c.EmailAddress
              };


或者,如果您有权访问Alter列,则将该列设置为NOT NULL

关于c# - 无法加入表和 View -调用'join'时类型推断失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22240830/

10-11 02:39