既存のエンティティが含まれている場合と含まれていない場合がある、かなり複雑なオブジェクト グラフを使用して新しいエンティティを作成するメソッドがあります。そのメソッドは独自のコンテキストを管理します。独自のコンテキストを維持し、エンティティの追加を試みる別のクラスのメソッドで消費されるエンティティを返します。
分業の理由は、2 番目の方法が、いくつかの異なるエンティティ作成シナリオに共通する一連の処理を行うためです。エンティティをデータベースに保存する前に、2 番目の方法が成功することが重要であるため、最初の方法でエンティティを保存したくありません。
問題は、2 番目のコンテキストがエンティティを追加すると、オブジェクト グラフ全体が真新しいものとして扱われ、データベースに重複が作成されることです。
エンティティを 2 番目のコンテキストに追加し、そのオブジェクト グラフ内の既存のエンティティをすべてアタッチする最善の方法は何ですか?
オブジェクトグラフをトラバースしてID > 0をテストするようなことを避けようとしています...