首先介绍一下事情的来龙去脉:
今天在编写MVC页面想要进行Ajax请求的时候发现老是报错,由于是Ajax所以错误没有直接在页面上显示出来,之后在开发人员工具中发现报错:
序列化类型为“【中间一大串】”的对象时检测到循环引用”,当时就慌了,因为不知道什么是循环引用,索性去问度娘了,了解了一下大概是多个表之间存在主外键约束。
随后我就看了各种博文,其中一种是通过nuget中的Newtonsoft.Json程序集来序列化Json对象。这里附上原文链接。
可是自己刚刚接收项目,不敢下载其他程序集,故自己又想了其他方法。该思路是通过新建一个类来保存自己需要返回的值:
注意这里之后是正题!!!
1.在Model中增加一个类定义需要的值;
·· 2.应用该Model的命名空间。
3.该Model的实例化
4.将原本通过EF查找的对象的值赋给该对象
5.返回对象。
以上是我个人觉得比较通俗易懂的解决方法,当然这不是唯一方法,如果有更通俗易懂的方法还望评论区留言,谢谢!