私はSilverlightアプリケーションを開発中です。 WCFサービスを使用して、EF 4セルフトラッキングエンティティをクライアントからサーバーに渡します。
Readメソッドは、TrackableエンティティコレクションをWCFサービスからSilverlightクライアントに提供するために正常に動作しています。基本的なアップデートも正しく動作しています。私は "OfficeEntity"のプロパティを変更し、WCF更新メソッドにパラメータとして渡すことができます。 エンティティのコレクションの1つを更新するときに発生する問題は、以下の逆シリアル化エラーが発生します。たとえば、「OfficeEntity」に「LocationEntity」のコレクションである「Locations」というナビゲーションプロパティがあり、「Locations」プロパティに新しい「Location」を追加して保存すると、非直列化例外が発生します。WCF、Silverlight 5、セルフトラッキングエンティティ、およびシリアライザ
officeEntity.Locations.Add(新しい場所(){LocationName = "テスト1"});
client.SaveAsync(officeEntity);
例外の詳細:メッセージをデシリアライズしようとしているときに
フォーマッタが例外をスローしました: パラメータデシリアライズしようとしているときにエラーが発生しました:OfficeEntityを。 InnerException>メッセージが 'Entities.OfficeEntity型のオブジェクトを逆シリアル化する際にエラーが発生しました。 終了要素 'ObjectsAddedToCollectionProperties' from namespace> 'http://schemas.datacontract.org/2004/07/Entities'が必要です。 名前空間から 'b:AddedObjectsForProperty'が見つかりました。> 'http://schemas.datacontract.org/2004/07/Entities'。 '
変更トラッキングのプロパティをデシリアライズすると問題が発生するようです。これを引き起こす原因に関するアイデア、または私がそれを修正できる場所?実際に生成されたエンティティはクライアントで使用されていない場合
おかげで、 ジェイソン
あなたがサービス参照を追加使用してSilverlightのプロキシを作成しましたを使用することができることに影響を与えることになる場合
わかりませんか? –
はい。プロキシは「サービス参照の追加」によって生成されました。 – IUJPJ