私はそれ自身がコレクションオブジェクトである子プロパティを持つ親オブジェクトを持っています。すなわち、 Parent.ChildsこれらのEFオブジェクトをWCFで公開しています。別の言い方をすれば、親はInvoice(親)とLineItems(子)の場合のように複数の子を持つことができます。Entity Framework - オブジェクトのリスト全体を取得せずに子オブジェクトへの参照を追加しますか?
クライアント側どのように私は、子オブジェクトを参照し、サービスを通過し、子のリスト全体を取得し、一致する各子オブジェクトに対して手動でParent.Childs.Add(子)を設定せずにChildsコレクションに追加します。
私はParent.Childs = new Childs(){new Child {childId = 1}、new Child {childId = 2}}のようなことをしたいと思います。 Parentをサーバーに送信すると、サーバーはid = 1およびid = 2の子がすでに存在し、それをフックすることを知ります。私は離れていると確信しています。
私はEntityKeyプロパティについて読んでいましたが、オブジェクトクライアント側にはこのプロパティがまったくありません。それはデータベースからそれをロードするまで、エンティティが存在する場合
おかげ
私はエンティティオブジェクトを持つwcfサービスを使用していますので、クライアントサイドに 'コンテキスト'というようなものはありません – David
私はこの解決策を試して、 "同じキーを持つオブジェクトが既にObjectStateManagerに存在しています。 ObjectStateManagerは同じキーを持つ複数のオブジェクトを追跡できません "私はこれをどのように解決すべきか分からない...どんな考え? –
@SimonDugré、重複キーエラーです。同じキーで新しいオブジェクトを追加しようとするのではなく、既にロードしたオブジェクトを更新する必要があります。 –