在对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;
}
这样所有引用这可实体模型的 序列化都可以畅通无阻了

本文详细记录了在使用Entity Framework进行数据查询时遇到的序列化异常问题,具体表现为Newtonsoft.Json.JsonSerializationException错误,主要原因是自引用循环。文中提供了两种解决方案:一是直接设置Configuration.ProxyCreationEnabled为false;二是修改Model.Context.cs文件中EFDBEntities构造函数,同样设置Configuration.ProxyCreationEnabled为false。

350

被折叠的 条评论
为什么被折叠?



