entity-framework - 尝试序列化 Entity Framework 对象时出现 XML 序列化错误

标签 entity-framework xml-serialization

我有通过 Entity Framework 获得的实体。我正在使用 Code-First,所以它们是 POCO。当我尝试使用 XmlSerializer 对它们进行 XML 序列化时,出现以下错误:

The type System.Data.Entity.DynamicProxies.Song_C59F4614EED1B7373D79AAB4E7263036C9CF6543274A9D62A9D8494FB01F2127 was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.



有人对如何解决这个问题有任何想法(没有创建一个全新的对象)?

最佳答案

只是说 POCO 并没有真正的帮助(尤其是在这种情况下,因为看起来您正在使用代理)。代理在很多情况下都派上用场,但会使诸如序列化之类的事情变得更加困难,因为被序列化的实际对象实际上并不是您的对象,而是代理的实例。

这篇博文应该会给你答案。
http://blogs.msdn.com/b/adonet/archive/2010/01/05/poco-proxies-part-2-serializing-poco-proxies.aspx

关于entity-framework - 尝试序列化 Entity Framework 对象时出现 XML 序列化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912214/

相关文章:

c# - 是否有 "http://schemas.microsoft.com/2003/10/Serialization/"命名空间的 xsd 文件?

c# - EntityFramework 上下文返回旧数据

c# - 从集合中删除对象时,如何让 EF6 从数据库中删除对象?

c# - EntityFramework - 是否可以将整个上下文数据库加载到内存中?

entity-framework - EntityFrameworkCore 相当一个 dbcontext 或者应该在 .Net Core 中分离 DbContext 像有界上下文以获得性能

c# - 什么时候应该使用 XML 序列化?

使用 IEnumerable 对象的 C# Xml 序列化

c# - 如果未设置, Entity Framework 自动生成 Id

serialization - 删除 DataContractSerializer XML 输出中的 "d1p1"命名空间前缀

ruby - 从 XSD 生成 Ruby 类