ASP.NET WebService - 实体框架

时间:2011-10-18 11:03:43

标签: asp.net entity-framework-4

我有一个使用Entity Framework 4.0的ASP.NET Web服务。

当我在本地运行WebService上的一个方法时,它抛出以下异常:

  

System.InvalidOperationException:生成错误时出错   XML文档。 ---> System.InvalidOperationException:成为XML   可序列化,从IEnumerable继承的类型必须具有   在他们的所有级别实现Add(System.Object)   继承层次结构。   System.Data.Objects.ObjectQuery`1 [testGoogleEarth.Model.Marker,   testGoogleEarth,Version = 1.0.0.0,Culture = neutral,   PublicKeyToken = null]]没有实现Add(System.Object)。在   System.Xml.Serialization.TypeScope.GetEnumeratorElementType(类型类型,   TYPEFLAGS&安培;旗帜)   System.Xml.Serialization.TypeScope.ImportTypeDesc(类型类型,   MemberInfo memberInfo,Boolean directReference)at   System.Xml.Serialization.TypeScope.GetTypeDesc(Type type,MemberInfo   source,Boolean directReference,Boolean throwOnError)at   System.Xml.Serialization.XmlSerializationWriter.CreateUnknownTypeException(类型   输入)   System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(字符串   name,String ns,Object o,Boolean xsiType)at   Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write1_Object(字符串   n,String ns,Object o,Boolean isNullable,Boolean needType)at   Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write7_JsonResult(字符串   n,String ns,JsonResult o,Boolean isNullable,Boolean needType)
  在   Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write9_JsonResult(对象   o)在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter   xmlWriter,Object o,XmlSerializerNamespaces名称空间,String   encodingStyle,String id)---内部异常堆栈跟踪的结束   ---在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,Object o,XmlSerializerNamespaces namespaces,String   encodingStyle,String id)at   System.Xml.Serialization.XmlSerializer.Serialize(的TextWriter   textWriter,Object o,XmlSerializerNamespaces namespaces)at   System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse对象   响应,Stream outputStream,Object returnValue)at   System.Web.Services.Protocols.WebServiceHandler.WriteReturns(对象[]   returnValues)at   System.Web.Services.Protocols.WebServiceHandler.Invoke()

我在Windows Server 2008上运行此示例。已安装.NET 4.0。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

您正在使用XMLSerializer在线路上序列化WCF请求时出现问题。对象图中的任何IEnumerable类都应该有一个公共add方法。在这里查看一些细节 http://www.hanselman.com/blog/YouMustImplementTheAddSystemObjectMethodOnMyClassBecauseItInheritsFromIEnumerable.aspx