問題
挿入する新しいエンティティ (「TargetEntity」と呼びます) を開始し、別のエンティティ プロパティ (「TemplateEntity」と呼びます) を使用しています。
TargetEntityの一部のプロパティは、 TemplateEntityプロパティとそのナビゲーション プロパティの値を取得しています。
いくつかの特別なケースでは、TemplateEntity プロパティとナビゲーション プロパティの値を変更する必要があります。たとえば、これが塗りつぶされる TargetEntity であるとします。
TargetEntity
- prop1
- prop2
- prop3
これは、値を持つ TemplateEntity です。
TemplateEntity
- prop1
- NavProp1.prop2
- NavProp2.prop3
次のように TemplateEntity にいくつかの変更を適用したいと思います。
TemplateEntity to be applied
- prop1 * index1
- NavProp1.prop2 * 0
- NavProp2.prop3 *index2
制限と条件
私はエンティティを扱っていますが、POCO も DTO もありません。多くのネストされたナビゲーション プロパティがあり、そのフラット オブジェクトを作成したり、オフラインのネストされたオブジェクトを複製したりするのは非常に複雑です。
TemplateEntity は多くのメソッドで使用されています。各メソッドには独自のコンテキストがあり、変更を保存します (つまり、ログなど)。
質問
変更を保存し、TemplateEntity のようなエンティティとそのナビゲーションが DB で変更されるのを避けるにはどうすればよいですか?