栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

EF 4.1-代码优先-JSON循环引用序列化错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

EF 4.1-代码优先-JSON循环引用序列化错误

您可以尝试

virtual
从所有导航属性中删除关键字以禁用延迟加载和代理创建,然后使用快速加载来显式加载所需的对象图:

public ActionResult GetAll(){    return Json(ppEFContext.Orders     .Include(o => o.Patient)     .Include(o => o.Patient.PatientAddress)     .Include(o => o.CertificationPeriod)     .Include(o => o.Agency)     .Include(o => o.Agency.Address)     .Include(o => o.PrimaryDiagnosis)     .Include(o => o.ApprovalStatus)     .Include(o => o.Approver)     .Include(o => o.Submitter),        JsonRequestBehavior.AllowGet);}

参考您以前的文章,您的应用程序似乎也不依赖于延迟加载,因为您在那里引入了虚拟属性来延迟加载对象图,这可能会导致序列化麻烦。

编辑

不必

virtual
从导航属性中删除关键字(这将使模型完全无法进行延迟加载)。在代理受干扰的特定情况下(例如序列化),禁用代理创建(也将禁用延迟加载)就足够了:

ppEFContext.Configuration.ProxyCreationEnabled = false;

这仅对特定的上下文实例禁用代理创建

ppEFContext

(我刚刚看过,@ WillC在这里已经提到过。请对此答案表示支持。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号