在过去的五个月里,我一直在开发一个应用程序,但遇到了这个问题。
我们正在使用 EF5,并且与此问题类似,我将类层次结构设计为具有从抽象基类派生的所有实体类,以强制实现验证接口。我们还在实体类中使用验证属性。
在我开始尝试使用 WCF 服务中的实体类之前,一切都运行良好。我得到了一堆序列化异常,并且一直试图弄清楚我在设计中打破了哪些“POCO”规则。 这篇文章告诉我这个类(显然......)不能是抽象的,但是由于我的类是从抽象类派生的,我是否可能违反了我不知道的规则?
更新:这是我正在努力解决的例外情况:
System.Runtime.Serialization.SerializationException,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
Type 'System.Data.Entity.DynamicProxies.WorkSession_63308485A9007DE087FF55AD9F246FD677863AA39AD56FEF4586AB87E21832DD' with data contract name 'WorkSession_63308485A9007DE087FF55AD9F246FD677863AA39AD56FEF4586AB87E21832DD: http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies ' is not expected. 考虑使用 DataContractResolver 或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将它们添加到传递给 DataContractSerializer 的已知类型列表中。