私は過去 5 か月間アプリケーションを開発してきましたが、この問題に遭遇しました。
私たちは 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 に渡される既知の型のリストにそれらを追加します。