ef 对象无法序列化


64x64
匿名 2017-10-29 22:51 411

在序列化ef对象时出现错误,提示如下:

System.InvalidOperationException: 生成 XML 文档时出错。 ---> System.InvalidOperationException: 不应是类型 System.Data.Entity.DynamicProxies.FrDocMain_6A6FA4013EBB9F316ECF2126518C20341055E52EDEBA21C97E7E8430E7B15A70。使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型。
   在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write5_FrDocMain(String n, String ns, FrDocMain o, Boolean isNullable, Boolean needType)
   在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write7_FrDocument(String n, String ns, FrDocument o, Boolean isNullable, Boolean needType)
   在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write10_FrDocument(Object o)
   在 Microsoft.Xml.Serialization.GeneratedAssembly.FrDocumentSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
   在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
   在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
   在 System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)
   在 System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
   在 System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
   在 System.Web.Services.Protocols.WebServiceHandler.Invoke()


entity frameworkstructvue 回答问题

2 个解决方案


1
匿名 2017-10-29T22:52:56

配置ProxyCreationEnabled = false就行了。

如:

db.Configuration.ProxyCreationEnabled = false;
return db.FrDocMains.SingleOrDefault(p => p.ID == Id);  


2
匿名 2017-08-07T17:56:11

这个是window操作系统的问题,检查你import文件的路径跟你项目文件路径,大小写是否一致,

如:E:\App\src\views\Home.vue和E:\App\src\views\home.vue的就存home和Home大小写不一致。


评论