首页 > Windows开发 > 详细

EF webapi json序列化 表间相互引用 无限循环问题解决方案

时间:2015-03-24 16:04:37      阅读:452      评论:0      收藏:0      [点我收藏+]

 

WebApiConfig.cs中加入 如下代码即可解决无限循环问题

            var json = config.Formatters.JsonFormatter;
            // 解决json序列化时的循环引用问题
            json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
            // 干掉XML序列化器
            config.Formatters.Remove(config.Formatters.XmlFormatter);

另外还有一个问题就是ef 如果用到 lazy加载的话, 输出的ef实体 会将关联表数据 都输出出来,解决方案是:

1.将没用的字段置空

2.用动态类型输出,例如: return  new{xx=user.userId,yy=...}

3.将virtual属性标记为 忽略输出json

EF webapi json序列化 表间相互引用 无限循环问题解决方案

原文:http://www.cnblogs.com/duanweishi/p/4363052.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!