序列化类型 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的上下文默认采用创建代理的方式返回实体集合,如果不需要,可以这样:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->context.ContextOptions.ProxyCreationEnabled = false;
即可关闭。
另外对EF上下文的几个重要设置选项作个说明:
LazyLoadingEnabled
启用延迟加载, true 启用,false 不启用;
ProxyCreationEnabled
创建代理, true 创建,false 不创建;
UseLegacyPreserveChangesBehavior
确定是否使用旧的行为, true 使用,false 不使用;
分享到:
相关推荐
11. **System.Runtime.Serialization**:包含了序列化和反序列化的类,如DataContractSerializer、XmlSerializer,用于对象的持久化和网络传输。 12. **System.Reflection**:提供了运行时类型信息的访问,可以动态...
- System.Data.SqlServerCe.Entity.dll:这是SQL Server CE的Entity Framework支持库,允许使用ORM(对象关系映射)进行数据操作。 - System.Threading.Tasks.Extensions.dll:这是.NET Framework中的并行任务扩展库...
9. **System.Xml**: 提供XML解析和序列化的类,如XmlDocument、XmlNode,用于处理XML数据。 10. **System.Linq**: Language Integrated Query(LINQ)支持,提供了一种声明性方式来查询数据,支持集合、数据库和XML...
4. Newtonsoft.Json.dll:这是Json.NET库,用于JSON序列化和反序列化,可能在读取或写入JSON格式的配置或元数据时使用。 5. EntityFramework.SqlServer.dll:这是Entity Framework的一个扩展,支持SQL Server数据库...
XmlDocument用于加载和操作XML文档,XPathNavigator用于导航XML结构,而XmlSerializer则实现了对象到XML和XML到对象的序列化和反序列化。 七、System.Data System.Data类库主要用于数据库操作,如ADO.NET接口,它...
4. Newtonsoft.Json.dll:这是Json.NET库,是.NET平台上最流行的JSON序列化和反序列化库,用于处理JSON格式的数据交换。 5. ICSharpCode.AvalonEdit.dll:这可能是AvalonEdit编辑器的组件,一个轻量级、可嵌入的WPF...
2. **Newtonsoft.Json.dll**:这是一个流行的JSON序列化和反序列化库,由James Newton-King 开发。它用于在.NET 应用程序中处理JSON数据,如读取、写入、转换JSON格式的数据。 3. **Ionic.Zip.dll**:这是DotNetZip...
`System.Text.Json`提供JSON序列化和反序列化功能。 6. **数据库访问**:`System.Data.SqlClient`和`System.Data.OleDb`分别用于SQL Server和OLE DB数据源的访问。`Entity Framework`是.NET的ORM框架,简化了与...
12. **System.Runtime.Serialization**: 提供序列化和反序列化功能,用于将对象状态保存到文件或网络,或者从这些来源恢复。 13. **System.Security**: 包含了加密、解密、认证和授权的相关类,如RSA、SHA、AES等...
8. **System.Dynamic**:动态类型支持,使得在运行时可以创建和使用动态对象。 9. **Newtonsoft.Json**:这是一个非常流行的第三方JSON库,用于JSON序列化和反序列化,广泛应用于Web API和Web服务。 10. **NLog或...
这个类提供了序列化和反序列化.NET对象到JSON字符串的能力。以下是一个简单的`Person`类的示例: ```csharp [Serializable] public class Person { public int Id { get; set; } public string Name { get; set; ...
JSON是一种轻量级的数据交换格式,C#中的`System.Text.Json`(.NET Core)或`Newtonsoft.Json`(第三方库)提供了JSON序列化和反序列化的支持。可以将C#对象转换为JSON字符串,或者将JSON文本解析为C#对象。 5. **...
8. **XML/JSON解析**:数据交换格式,如XML或JSON,可能被用于序列化和反序列化对象,`System.Xml`和`System.Text.Json`库提供这方面的支持。 9. **第三方库**:可能还使用了其他第三方库,如`NLog`进行日志记录,`...
Newtonsoft.Json.dll是Json.NET的库,这是一个流行的JSON序列化和反序列化库,SqlSugar可能用它来处理JSON数据的转换,例如在Web API或NoSQL数据库场景下。 EntityFramework.SqlServer.dll是Entity Framework针对...
在固件获取过程中,可能涉及到JSON格式的配置文件或API响应,Newtonsoft.Json.dll则负责解析和序列化这些数据。 4. **Ionic.Zip.dll**:这是 Ionic Zip 库的动态链接库,用于处理ZIP格式的压缩文件。华为手机的固件...
2. **Newtonsoft.Json.dll**:这是一个流行的JSON序列化和反序列化库,由James Newton-King开发。在华为固件下载器中,它可能用于处理和解析从服务器获取的JSON格式的固件信息,比如设备型号、固件版本等数据。 3. ...
3. **Newtonsoft.Json**:JSON序列化和反序列化的库,广泛用于Web API和JSON数据处理。 4. **Entity Framework**:微软提供的ORM(对象关系映射)框架,使得开发者可以使用面向对象的方式来操作数据库。 5. **log4...
- `Newtonsoft.Json.dll`是Json.NET的库,用于处理JSON序列化和反序列化,便于在应用程序中交换数据。 - `SQLite.Designer.dll`可能与数据库设计和可视化工具相关,帮助用户图形化地设计SQLite数据库结构。 - `...
13. **Newtonsoft.Json**: 这是一个流行的第三方JSON库,提供序列化和反序列化JSON的能力,对于Web服务和数据交换非常有用。 14. **Autofac**: 一个依赖注入容器,有助于实现面向接口编程,提高代码可测试性和可...
XML或JSON格式的数据,可以利用`System.Xml`或`System.Text.Json`命名空间中的类来生成和序列化。 数据转移,可能涉及到数据库操作,如SQL Server或SQLite等。C#提供了`System.Data.SqlClient`或`System.Data....