序列化System.Data.Entity.DynamicProxies.Account_类型的对象时检测到循环引用

时间:2017-02-08 06:49:53

标签: json entity-framework automapper

我刚接触ASP.NET和其他东西。我在实体框架中使用了自动播放器,它给出了错误....... 当我试图通过JSON响应获得所需数据时会发生这种情况......

  

System.Data.Entity.DynamicProxies.Account_C2A5EBE3CC4467F8B34569FAEB8687C41333F5D82DB38AC1D2E21FC5F8A47193'。]

我已经在stackoverflow和其他平台上尝试了很多资源,但是没有可靠的解决方案来解决这个问题。 我在MODELS中使用虚拟关键字启用了LAZY LOADING。 我不想使用..来关闭延迟加载。

  

Configuration.ProxyCreationEnabled = false;

我正在搜索使用延迟加载加载所有数据的其他解决方案..

如果我要延迟加载,那么其他头痛就要面对了。

请帮助我老年人............

1 个答案:

答案 0 :(得分:0)

两个选项:

  1. 不要序列化整个实体。而是将其转换为更简单的类,然后序列化该对象。我建议您使用AutoMapper进行对象转换。

  2. 如果您使用Json.Net,则可以在要避免的属性之上添加JsonIgnore属性。

  3. 我的建议是第一个选择。我认为只返回你真正需要的对象是一个好主意。为此,您应该拥有简单的模型对象和一个在您的实体和此模型类之间进行转换的映射器。例如,如果所有实体对象都已完全连接,则可能会出现序列化整个数据库的情况,这是不可取的。尝试从表示层移出实体。