不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Entity Framework对象序列化出错:检测到循环引用
编辑:dnawo 日期:2013-09-10
在ASP.NET MVC3中尝试将Entity Framework对象序列化输出,结果出错,代码如下:
错误信息:
引用内容

错误是EF的导航属性导致的,Person对象的Pets属性引用了Person对象导致无限循环,EF下很多问题ToList后通常能解决,但这次不行:
序列化类型为xxx的对象时检测到循环引用解决方法
方法一:关闭导航功能(不能再使用导航属性)
方法二:转为匿名对象
复制内容到剪贴板
程序代码

public ActionResult Index()
{
testContext context = new testContext();
var data = context.People;
return Json(data, JsonRequestBehavior.AllowGet);
}
{
testContext context = new testContext();
var data = context.People;
return Json(data, JsonRequestBehavior.AllowGet);
}
错误信息:

序列化类型为“System.Data.Entity.DynamicProxies.Person_896262438F25FF951FF9F66BD7BE34F10A8A5D962769864829136BF959F99A37”的对象时检测到循环引用。

错误是EF的导航属性导致的,Person对象的Pets属性引用了Person对象导致无限循环,EF下很多问题ToList后通常能解决,但这次不行:
复制内容到剪贴板
程序代码

public ActionResult Index()
{
testContext context = new testContext();
var data = context.People.ToList();
return Json(data, JsonRequestBehavior.AllowGet);
}
{
testContext context = new testContext();
var data = context.People.ToList();
return Json(data, JsonRequestBehavior.AllowGet);
}
序列化类型为xxx的对象时检测到循环引用解决方法
方法一:关闭导航功能(不能再使用导航属性)
复制内容到剪贴板
程序代码

public ActionResult Index()
{
testContext context = new testContext();
context.Configuration.ProxyCreationEnabled = false;
var data = context.People;
return Json(data, JsonRequestBehavior.AllowGet);
}
{
testContext context = new testContext();
context.Configuration.ProxyCreationEnabled = false;
var data = context.People;
return Json(data, JsonRequestBehavior.AllowGet);
}
方法二:转为匿名对象
复制内容到剪贴板
程序代码

public ActionResult Index()
{
testContext context = new testContext();
var data = context.People.Select(item => new { item.Id, item.Name });
return Json(data, JsonRequestBehavior.AllowGet);
}
{
testContext context = new testContext();
var data = context.People.Select(item => new { item.Id, item.Name });
return Json(data, JsonRequestBehavior.AllowGet);
}
评论: 0 | 引用: 0 | 查看次数: 16408
发表评论
请登录后再发表评论!