Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';更新EF中父/子实体的正确方法是什么?_C#_Entity Framework - Fatal编程技术网

C# 什么';更新EF中父/子实体的正确方法是什么?

C# 什么';更新EF中父/子实体的正确方法是什么?,c#,entity-framework,C#,Entity Framework,我首先使用EF4代码,有一个父表和一个子表 当我更新父项时,我注意到子项没有更新,而是创建了新条目(旧条目不会被删除) 我的更新方法如下所示: IEFRepository<Parent> repo = new EFRepository<Parent>( context ); var parent = repo.GetSingle(m => m.parentId.Equals(updatedParent.parentId)); parent.Child = upda

我首先使用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);
我还尝试创建一个UpdateChild(),并从UpdateParent()调用它,但得到的结果与分解单个子属性基本相同


有没有合适的方法来控制这种行为并强制EF覆盖子实体而不是创建一个新实体?

有一个上下文中的子实体列表,当您不再需要它时,有一个上下文中的旧子实体列表。

您能详细说明您正试图进行的更改吗?从这个描述很难理解,至少对我来说是这样。:)
parent.Child.property = updatedParent.Child.property;