2011-07-06 14 views
0

エンティティフレームワークコードファーストを使用するアプリケーションがあります。私は私のリソースアクセス層を書き込もうとしています。私はすべてが別々のデータベーステーブルと多くのオブジェクトの関係を持っているいくつかのオブジェクトを持っています。誰かが関連するオブジェクトを持つCRUDメソッドの最新の例を私に指摘できますか?私が見つけたものは古いバージョン(私はObjectContextなどではなくDbContextを使用しています)を使用しています。エンティティフレームワーク:関連オブジェクトとその他の状態管理の添付

たとえば、私は現在、自分自身と親子関係のあるオブジェクトを処理しています。私はCreateメソッドを記述しようとしています。 context.Objects.Add(newObject)を使用すると、すべての子オブジェクトの状態も[追加済み]に変更され、重複する子が追加されます。だから私はすべての子をループして文脈につけようとしましたが、それまで存在しなかった子はデータベースに追加されず、DbUpdateExceptionがスローされます。

関連するすべてのエンティティを添付して状態が正しいという一般的な方法はありますか?あなたが私に与えることができるどんな助けも高く評価されるでしょう。ありがとう!

編集:

私は明示的にLoad()を使用して、子供をロードしてから最初のオブジェクトを追加してみました。残念なことに、親コメントに子がその子リストに含まれていても、既存の子のparentIDはまだ更新されていないため、例外が発生しました。

答えて

0

いいえ全グラフを添付してEFが自動的に正しい状態にする方法はありません - these problemsはObjectContext API以降に変更されていません。それぞれのエンティティとリレーションに対して常に手動で状態を設定する必要があります。また、添付エンティティからグラフを作成する必要があります。唯一の例外はSelf tracking entitiesですが、DbContext APIではサポートされていません。

関連する問題