【发布时间】:2016-07-02 09:47:11
【问题描述】:
我正在使用实体框架来获取数据库数据。我编写了一个以 JSON 格式返回表数据的操作,如下所示:
public JsonResult GetEmployeesData()
{
using (TrainingDBEntities db = new TrainingDBEntities())
{
return new JsonResult { Data = db.Employees, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
它没有抛出任何异常。但是出现控制台错误,错误代码为:500。当我调试时,它显示错误
函数求值需要所有线程运行
当我尝试重新加载时,出现新错误:
无法计算表达式。不支持操作。未知错误:0x80070057
我不知道这段代码有什么问题?
【问题讨论】:
-
你能分享完整的例外文本吗?堆栈跟踪?无论如何,我认为这是与 EF 的延迟加载有关的问题。因此,您可以尝试将
Data = db.Employees替换为Data = db.Employees.ToList()以强制EF 加载实体。 -
如果在项目属性中启用了“优化代码”,这可能是导致错误的原因之一。禁用(取消选中)它。
标签: c# entity-framework asp.net-mvc-4