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

简介: 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用   详细错误内容为: 不应为数据协定名称为BlogArticle_8F5767B5CA34AC0BBFE8F59DB428937035A9A77CC2917A318A2808A379392602: http://schemas.

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

 

详细错误内容为:

不应为数据协定名称为BlogArticle_8F5767B5CA34AC0BBFE8F59DB428937035A9A77CC2917A318A2808A379392602:

http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies”的类型“System.Data.Entity.DynamicProxies.BlogArticle_8F5767B5CA34AC0BBFE8F59DB428937035A9A77CC2917A318A2808A379392602”。请考虑使用 DataContractResolver,或将任何未知类型以静态方式添加到已知类型的列表。例如,可以使用 KnownTypeAttribute 特性,或者将未知类型添加到传递给 DataContractSerializer 的已知类型列表。

 

出现该错误的原因:

EF的上下文默认采用创建代理的方式返回实体集合,如果不需要,可以这样:

 

context.ContextOptions.ProxyCreationEnabled  =   false ;

 

 

即可关闭。

 

另外对EF上下文的几个重要设置选项作个说明:

 

LazyLoadingEnabled

启用延迟加载, true 启用,false 不启用;

 

ProxyCreationEnabled

创建代理, true 创建,false 不创建;

 

UseLegacyPreserveChangesBehavior

确定是否使用旧的行为, true 使用,false 不使用;

 

 

目录
相关文章
|
6月前
|
Java API
JavaSE——常用API进阶一(1/3)-Object类(Object类的作用、Object类的常见方法-toString方法、equal方法、clone方法)
JavaSE——常用API进阶一(1/3)-Object类(Object类的作用、Object类的常见方法-toString方法、equal方法、clone方法)
41 0
|
6月前
|
Java API
JavaSE——常用API进阶一(2/3)-Objects类(equals方法、isNull方法、nonNull方法)、包装类(介绍、包装方法及自动装拆箱、其他常见操作)
JavaSE——常用API进阶一(2/3)-Objects类(equals方法、isNull方法、nonNull方法)、包装类(介绍、包装方法及自动装拆箱、其他常见操作)
38 0
|
fastjson
Map对象与实体类Object对象转换
Map对象与实体类Object对象转换
|
JSON Java 应用服务中间件
TypeToken分析(json字符串- list对象)
TypeToken分析(json字符串- list对象)
140 0
System.NullReferenceException:“未将对象引用设置到对象的实例。” System.Configuration.ConnectionStringSettingsCollect
System.NullReferenceException:“未将对象引用设置到对象的实例。” System.Configuration.ConnectionStringSettingsCollect
|
存储 Java 对象存储
基础篇:Object对象
内存对齐区是什么? HotSpot VM的自动内存管理系统要求对象起始地址必须是8字节的整数倍,换句话说就是对象的大小必须是8字节的整数倍。因此当对象实例数据部分没有对齐的话,就需要通过对齐填充来补全
73 0
|
存储 JSON 数据格式
Map对象和普通对象的7个区别
Map对象和普通对象的7个区别
json.Unmarshal() 反序列化字节流到 interface{} 对象,字段 int/int64 类型出现精度丢失
json.Unmarshal() 反序列化字节流到 interface{} 对象,字段 int/int64 类型出现精度丢失
|
JavaScript 前端开发
31、Object 对象的相关方法
Object.getPrototypeOf方法返回参数对象的原型。这是获取原型对象的标准方法。
131 0
|
测试技术
Object C学习笔记3-对象的使用和定义
  1. 如何定义一个对象   在面向对象的语言中,定义一个对象是使用Class关键字,而在Object-C中则是使用@interface,@interface用于定义对象的属性和方法,@implementation则用于对象的详细描述。
860 0