在mvc返回JSON时出错:序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用 的解决办法

在MVC中返回JSON时出错,序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用。

 public ActionResult GetSdirsbyFdirid(int id)
        {
           // db.Configuration.LazyLoadingEnabled = false;
            db.Configuration.ProxyCreationEnabled = false;
            List<Seconddirectory> list = db.Seconddirectories.Where(x => x.firstdirectoryid == id).OrderBy(x => x.sort).ToList<Seconddirectory>();
            return Json(list,JsonRequestBehavior.AllowGet);
        }

加一句这个

db.Configuration.ProxyCreationEnabled = false;
就可以解决

因为这个表和另一个表是有一对多关系的,当序列化表1的时候,会找到和另一个表2关联的字段,就会到另一个表2中序列化,然后另一个表2中也有一个字段和表1相关联.这样.序列化就会发生这种错误!
posted @ 2015-07-16 19:00  lunawzh  阅读(1007)  评论(0编辑  收藏  举报