我正在使用Entity Framework来获取数据库数据。我编写了一个以JSON格式返回表数据的操作,如下所示:
public JsonResult GetEmployeesData()
{
using (TrainingDBEntities db = new TrainingDBEntities())
{
return new JsonResult { Data = db.Employees, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
它没有抛出任何异常。但是出现了一个控制台错误,错误代码为:500。当我调试时,它显示错误
功能评估需要运行所有线程
当我尝试重新加载时,会出现新错误:
无法评估表达式。操作不受支持。未知错误:0x80070057
我不知道这段代码有什么问题?
答案 0 :(得分:3)
解决方案是:
public JsonResult GetEmployeesData()
{
using (TrainingDBEntities db = new TrainingDBEntities())
{
var emps = db.Employees.ToList();
return new JsonResult { Data = emps, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
我认为在JsonResult {}中访问db会导致问题。
答案 1 :(得分:0)
由于您尚未将结果集转换为有效的数据类型,因此评估工作正常。
您可以替换以下代码 JsonResult {数据= db.Employees,JsonRequestBehavior = ..}
与
JsonResult {数据= db.Employees.ToList(),JsonRequestBehavior = ..}