我已经看到了很多关于这个主题的问题,但我无法对其中任何一个真正解决我所看到的问题进行排序。我有一个活动实体,用于跟踪分配给哪个员工以及哪个员工创建了记录并更新了记录。如果我删除“where a.AssignedEmployee == currentUser”代码行,我不会收到下面的运行时错误。
无法创建“DataModels.Employee”类型的常量值。仅有的
在此上下文中支持原始类型或枚举类型。
控制器
var query = from a in db.Activities
where a.AssignedEmployee == currentUser
where a.IsComplete == false
orderby a.DueDate
select a;
return View(query.ToList());
VIEW
@model IEnumerable<Data.DataModels.Activity>
..........
我的猜测是该错误表明 EF 无法将相等运算符转换为Employee
到 SQL(无论您是否假设引用相等或重写==
操作员)。假设Employee
类有一个唯一的标识符尝试:
var query = from a in db.Activities
where a.AssignedEmployeeId == currentUser.Id
where a.IsComplete == false
orderby a.DueDate
select a;
return View(query.ToList());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)