此上下文中仅支持基元类型或枚举类型-linq join

此上下文中仅支持基元类型或枚举类型-linq join,linq,linq-to-entities,Linq,Linq To Entities,当我尝试加入时出现此错误 var users = _users.Get(); var userApprovals = (from approval in _entities.ApprovalEntities join userDetail in users on approval.UserKey equals userDetail.UserId where approval.EmployeeUid == employeeUid select new UserApproval { Id = a

当我尝试加入时出现此错误

var users = _users.Get();
var userApprovals =
(from approval in _entities.ApprovalEntities
join userDetail in users on approval.UserKey equals userDetail.UserId
 where approval.EmployeeUid == employeeUid
 select new UserApproval
{
Id = approval.Id,
EmployeeUid = approval.EmployeeUid,
UserKey = approval.UserKey,
UserId = approval.UserId,
UserName = userDetail.FirstName + " " + userDetail.LastName
}).ToList();
错误 在此上下文中仅支持基元类型或枚举类型

谢谢

修复, var用户批准=

(from approval in _entities.ApprovalEntities.ToList()
join userDetail in users on approval.UserKey equals userDetail.UserId
 where approval.EmployeeUid == employeeUid
 select new UserApproval
{
Id = approval.Id,
EmployeeUid = approval.EmployeeUid,
UserKey = approval.UserKey,
UserId = approval.UserId,
UserName = userDetail.FirstName + " " + userDetail.LastName
}).ToList();

在我的例子中,我的问题是在不使用toList()语句的情况下使用IEnumerable

看,这段代码显示“此上下文中仅支持错误基元类型或枚举类型”错误:

看,这个代码已经修复了错误:

var query = db.TemplatesDocs.Where(x => x.Id_Template == idTmpl).ToList()
        .Join(Utils.DocumentTypes, x => x.Id_Type, y => y.Id, (x, y) => new { tmpDoc = x, type = y } )
        .ToList();

所以您的修复程序将从Approvality表中获取所有记录。这就是你想要的吗?
var query = db.TemplatesDocs.Where(x => x.Id_Template == idTmpl).ToList()
        .Join(Utils.DocumentTypes, x => x.Id_Type, y => y.Id, (x, y) => new { tmpDoc = x, type = y } )
        .ToList();