![实体框架自引用循环检测到[重复],第1张 实体框架自引用循环检测到[重复],第1张](/aiimages/%E5%AE%9E%E4%BD%93%E6%A1%86%E6%9E%B6%E8%87%AA%E5%BC%95%E7%94%A8%E5%BE%AA%E7%8E%AF%E6%A3%80%E6%B5%8B%E5%88%B0%5B%E9%87%8D%E5%A4%8D%5D.png)
好吧,基于Json.net的默认Json格式器的正确答案是设置
ReferenceLoopHandling为
Ignore。
只需将其添加到
Application_StartGlobal.asax中:
HttpConfiguration config = GlobalConfiguration.Configuration;config.Formatters.JsonFormatter .SerializerSettings .ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
这是正确的方法。它将忽略指向该对象的引用。
其他响应的重点是通过排除数据或制作门面对象来更改返回的列表,有时这不是选择。
使用
JsonIgnore属性限制引用可能很耗时,并且如果您要从另一个角度开始对树进行序列化,那将是一个问题。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)