I am using asp.net entity framework, when I tried to convert entity object list to json and return jsonresult in mvc. I used json serialize, while running the application I got this following error,
Problem with this following code:
[HttpPost]
public ActionResult CreateJson()
{
try
{
using (models context = new models())
{
var CustomerList = context.Customers.ToList();
var jsondata = new JavaScriptSerializer().Serialize(CustomerList);
string path =Server.MapPath("~/Json/");
System.IO.File.WriteAllText(path + "customer.json",jsondata);
return Json(CustomerList, JsonRequestBehavior.AllowGet);
}
}
catch (Exception ez)
{
return null;
}
}
Solution:
The database circular reference was solved by setting ProxyCreationEnabled to false. So those not to load to child objects of customer object. I have included the following line “context.Configuration.ProxyCreationEnabled = false;” in the json method.
using (models context = new models())
{
context.Configuration.ProxyCreationEnabled= false; // included the following code
var CustomerList =context.Customers.ToList();
var jsondata = new JavaScriptSerializer().Serialize(CustomerList);
string path =Server.MapPath("~/Json/");
System.IO.File.WriteAllText(path + "customer.json",jsondata);
return Json(CustomerList, JsonRequestBehavior.AllowGet);
}