在对EF(EntityFramework)查询的数据序列化出现的问题

问题记录:

Newtonsoft.Json.JsonSerializationException :(序列化出现异常)

Self referencing loop detected for property 'Students'  with type 'System.Data.Entity.DynamicProxies.Students_FC3AAD0C2B2B5182FFFD03DAC948E7F42A2B1AB0C7DA82D8BC1FF9FEE67B263F'. Path '[0].Students[0].ScoreList[0]'.”

为具有类型的属性“学生”“学生”检测到自引用循环 //学生是表名

解决方法:
在这里插入图片描述

  • 为 entities 对象添加了 Configuration.ProxyCreationEnabled = false;
    就能正常序列化了

第二种解决方法:

找到 Model.edmx > Model.Context.tt >  Model.Context.cs 
打开 Model.Context.cs 
找到 public EFDBEntities()
            : base("name=EFDBEntities")
        {
           
        }
添加 Configuration.ProxyCreationEnabled = false;

完成 public EFDBEntities()
            : base("name=EFDBEntities")
        {
           Configuration.ProxyCreationEnabled = false;
        }

这样所有引用这可实体模型的 序列化都可以畅通无阻了

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐