最初にEf4コードを使用していて、子を持つ親テーブルがあります
親を更新すると、子が更新されず、新しいエントリが作成されます(古いエントリは削除されません)。
私の更新方法は次のようになります。
IEFRepository<Parent> repo = new EFRepository<Parent>( context );
var parent = repo.GetSingle(m => m.parentId.Equals(updatedParent.parentId));
parent.Child = updatedParent.Child; //this is creating a new record in the db, not overwriting the existing
repo.Update(parent);
以下のようにupdateメソッドで子プロパティを分割すると、重複エントリの問題は解決されますが、他の場所で他の問題が発生します(主にnullエントリの検証で)。
parent.Child.property = updatedParent.Child.property;
また、UpdateChild()を作成し、それをUpdateParent()から呼び出してみましたが、基本的に、個々の子プロパティを分割した場合と同じ結果が得られました。
この動作を制御し、EFに新しいエンティティを作成する代わりに、子エンティティを上書きさせる適切な方法はありますか?