json.net; serialize entity framework object (circular reference error)(json.net;序列化实体框架对象(循环引用错误))
问题描述
我有一个实体框架实体,我想将其序列化为 json 对象.我环顾四周,发现 json.net (http://james.newtonking.com/projects/json-net.aspx) 应该能够使用开箱即用"的循环引用序列化对象.所以我尝试使用
I have an entity framework entity that i want to serialize as a json object. I looked around and found out that json.net (http://james.newtonking.com/projects/json-net.aspx) should be able to serialize objects with circular references "out of the box". So i tried using
string json = JsonConvert.SerializeObject(/* my ef entity */);
但我仍然遇到同样的错误.问题可能是我需要使用 ReferenceLoopHandling.Ignore
和 ContractResolver
,但我不确定如何使用它们.任何帮助深表感谢!谢谢
But im still getting the same error. The problem might be that i need to use ReferenceLoopHandling.Ignore
and a ContractResolver
, but im not sure how to use them. Any help is much appreciated! Thanks
推荐答案
我的解决方案是简单地删除子实体上的父引用.
My solution was to simply remove the parent reference on my child entities.
所以在我的模型中,我选择了关系并将父引用更改为内部而不是公共.
So in my model, I selected the relationship and changed the Parent reference to be Internal rather than Public.
可能不是所有人的理想解决方案,但对我有用.
May not be an ideal solution for all, but worked for me.
这篇关于json.net;序列化实体框架对象(循环引用错误)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:json.net;序列化实体框架对象(循环引用错误)


- Azure Active Directory 与 MVC,客户端和资源标识同一 2022-01-01
- C# 通过连接字符串检索正确的 DbConnection 对象 2022-01-01
- CanBeNull和ReSharper-将其用于异步任务? 2022-01-01
- Windows 喜欢在 LINUX 中使用 MONO 进行服务开发? 2022-01-01
- 在 C# 中异步处理项目队列 2022-01-01
- 带问号的 nvarchar 列结果 2022-01-01
- 使用 rss + c# 2022-01-01
- 是否可以在 .Net 3.5 中进行通用控件? 2022-01-01
- 为什么 C# 中的堆栈大小正好是 1 MB? 2022-01-01
- 在 LINQ to SQL 中使用 contains() 2022-01-01