I am using Entity Framework to get db data. I wrote an action to return table data in JSON format as below:
public JsonResult GetEmployeesData()
{
using (TrainingDBEntities db = new TrainingDBEntities())
{
return new JsonResult { Data = db.Employees, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
It's not throwing any exception. But a console error is occurring with error code: 500. When I debugged, it showed an error
The function evaluation requires all threads to run
When I try to reload, a new error occurs:
Unable to evaluate the expression. Operation not supported. Unknown error: 0x80070057
I don't have any idea what's wrong with this code?
The solution is :
public JsonResult GetEmployeesData()
{
using (TrainingDBEntities db = new TrainingDBEntities())
{
var emps = db.Employees.ToList();
return new JsonResult { Data = emps, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
I think accessing db inside the JsonResult{} is causing the issue.
Evaluation is working properly because you have not converted result set into a valid datatype for JSON.
You can replace below code
JsonResult { Data = db.Employees, JsonRequestBehavior = ..}
with
JsonResult { Data = db.Employees.ToList(), JsonRequestBehavior = ..}
User contributions licensed under CC BY-SA 3.0