1

私は Silverlight アプリケーションに取り組んでいます。WCF サービスを使用して、EF 4 セルフ トラッキング エンティティをクライアントとサーバーの間でやり取りします。
読み取りメソッドは、追跡可能なエンティティ コレクションを WCF サービスから Silverlight クライアントに提供するために正常に機能しています。基本的な更新も正しく機能しています。「OfficeEntity」のプロパティを変更し、パラメータとして WCF update メソッドに渡すことができます。私たちが抱えている問題は、エンティティのコレクションの 1 つを更新すると、以下の逆シリアル化エラーが発生することです。たとえば、「OfficeEntity」に「LocationEntity」のコレクションであるナビゲーション プロパティ「Locations」があり、新しい「Location」を「Locations」プロパティに追加して保存すると、逆シリアル化例外が発生します。

officeEntity.Locations.Add(new Location() {LocationName = "テスト 1"});

client.SaveAsync(officeEntity);

例外の詳細:

メッセージを逆シリアル化しようとしているときに、フォーマッタが例外をスローしました: パラメータ :OfficeEntity を逆シリアル化しようとしているときにエラーが発生しました。InnerException > メッセージは、「タイプ Entities.OfficeEntity のオブジェクトの逆シリアル化でエラーが発生しました。名前空間 >'http://schemas.datacontract.org/2004/07/Entities' からの終了要素 'ObjectsAddedToCollectionProperties' が必要です。名前空間 >「http://schemas.datacontract.org/2004/07/Entities」から要素「b:AddedObjectsForProperty」が見つかりました。

問題は、変更追跡プロパティの逆シリアル化にあるようです。これの原因やどこで修正できるかについてのアイデアはありますか?

ありがとう、ジェイソン

4

1 に答える 1

0

実際に生成されたエンティティがクライアントで使用されていない場合、セルフ トラッキング エンティティにはトラッキングに関する問題があります

これがシリアライゼーションの問題の根底にあるかどうかはわかりませんが、自己追跡エンティティを使用できるようになることには間違いなく影響があります

于 2011-08-16T17:42:54.987 に答える