entity framework抛出错误“无法评估表达式。 操作不受支持。 未知错误:0x80070057。“

我正在使用Entity Framework来获取数据库数据。 我写了一个以JSON格式返回表数据的动作,如下所示:

public JsonResult GetEmployeesData() { using (TrainingDBEntities db = new TrainingDBEntities()) { return new JsonResult { Data = db.Employees, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } } 

它没有抛出任何exception。 但是出现了错误代码的控制台错误:500。当我调试时,它显示错误

function评估需要运行所有线程

当我尝试重新加载时,会发生新的错误:

无法评估表达式。 操作不受支持。 未知错误:0x80070057

我不知道这段代码有什么问题吗?

解决方案是:

 public JsonResult GetEmployeesData() { using (TrainingDBEntities db = new TrainingDBEntities()) { var emps = db.Employees.ToList(); return new JsonResult { Data = emps, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } } 

我认为在JsonResult {}中访问db会导致问题。

评估工作正常,因为您尚未将结果集转换为有效的数据类型。

你可以替换下面的代码JsonResult {Data = db.Employees,JsonRequestBehavior = ..}

JsonResult {Data = db.Employees.ToList(),JsonRequestBehavior = ..}