实体框架抛出错误“无法计算表达式”.不支持此操作.未知错误:0x80070057."
本文关键字:错误 未知 操作 0x80070057 quot 不支持 表达式 出错 框架 实体 计算 | 更新日期: 2023-09-27 17:54:32
我使用实体框架来获取数据库数据。我编写了一个以JSON格式返回表数据的操作,如下所示:
public JsonResult GetEmployeesData()
{
using (TrainingDBEntities db = new TrainingDBEntities())
{
return new JsonResult { Data = db.Employees, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
它没有抛出任何异常。但是出现控制台错误,错误代码为:500。当我调试时,它显示了一个错误
函数求值要求所有线程都运行
当我尝试重新加载时,出现一个新的错误:
无法计算表达式。不支持此操作。未知错误:0x80070057
我不知道这段代码有什么问题?
解决方案是:
public JsonResult GetEmployeesData()
{
using (TrainingDBEntities db = new TrainingDBEntities())
{
var emps = db.Employees.ToList();
return new JsonResult { Data = emps, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
我认为在JsonResult{}中访问db是导致问题的
计算正常工作,因为您没有将结果集转换为JSON的有效数据类型。
你可以替换下面的代码
JsonResult { Data = db.Employees, JsonRequestBehavior = ..}
JsonResult { Data = db.Employees.ToList(), JsonRequestBehavior = ..}