【发布时间】:2011-10-24 13:30:04
【问题描述】:
我正在尝试根据我的实体类型 SYSTEM_AUDIT_SHEET 发布一个 JSONJ 对象的通用处理程序:
SYSTEM_AUDIT_SHEET sheet = ctx.SYSTEM_AUDIT_SHEET
.Where(s => s.SYSTEM_KEY == system_key_dec)
.Select(s => s)
.OrderByDescending(s => s.AUDIT_SHEET_VERSION)
.First();
HttpContext.Current.Response.Write(serializer.Serialize(sheet));
但我收到以下错误:
序列化类型对象时检测到循环引用 'System.Data.Entity.DynamicProxies.SYSTEM_AUDIT_SHEET_521A7B786A51FC0F83641182DD72C8DFE6C082418D30BBB977B403409A74CE17'。
为什么我不能将实体转换为 JSON?
【问题讨论】:
-
创建一个类似于您要序列化但没有循环引用的对象的新类。从工作表对象填充该类中的数据并将其序列化。由于这类问题,直接序列化 Entity Framework Object 是一种不好的做法。
-
重复问题;答案是“使用 JSON.Net”,它有几种解决方案,无需复制/粘贴类。 stackoverflow.com/questions/4606232/…
标签: c# asp.net json entity-framework