Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/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
Entity framework 正在添加实体框架对象,但从未提交到数据库_Entity Framework - Fatal编程技术网

Entity framework 正在添加实体框架对象,但从未提交到数据库

Entity framework 正在添加实体框架对象,但从未提交到数据库,entity-framework,Entity Framework,我被要求修复使用实体框架进行数据访问的WCF服务的一个问题。添加整个对象效果很好,但更新失败,因为没有检测到一个对象 对象模型就是这样 父对象->子对象集合->子对象集合->子对象 子对象是未保存的对象。我看到它在ObjectStateManager中处于添加状态,但是因为它的父级没有更改,所以更改似乎没有进入数据库。如果我将一个新对象添加到子对象的集合和一个子对象,它将拾取更改并将其保存到数据库中,但是如果父集合没有更改,它将永远不会将更改提交到数据库中 我错过了什么 也许您可以尝试添加con

我被要求修复使用实体框架进行数据访问的WCF服务的一个问题。添加整个对象效果很好,但更新失败,因为没有检测到一个对象

对象模型就是这样 父对象->子对象集合->子对象集合->子对象

子对象是未保存的对象。我看到它在ObjectStateManager中处于添加状态,但是因为它的父级没有更改,所以更改似乎没有进入数据库。如果我将一个新对象添加到子对象的集合和一个子对象,它将拾取更改并将其保存到数据库中,但是如果父集合没有更改,它将永远不会将更改提交到数据库中


我错过了什么

也许您可以尝试添加
context.ChildObjectSet.Add(ChildObject)
;我记得我在EF 1中也遇到过类似的问题,但那是很久以前的事了。@Josh:Id是如何分配的(sql server生成的,代码分配的),你在使用POCO对象吗?您正在使用哪个版本的EF?我正在对导航属性进行添加,并将对象添加到上下文中@断管,我使用EF 4,ID是GUID,因此分配了代码,并使用分部类生成了.TT对象,以便对其进行更多扩展。@Josh:检查生成的代码中的实体,可能存在关系状态管理问题,例如在Parent.Childs集合中有Child,而没有设置Child.Parent引用,对于双边关系。@断管,我正在检查关系,我做了一个GetAllRelatedEnds,并看到了双方的父母。现在我还看到该对象的“IsRelationship”设置为false,“owner”为null。不知道在哪里可以看到或设置Child.Parent引用。也许你可以尝试添加
context.ChildObjectSet.Add(ChildObject)
;我记得我在EF 1中遇到过类似的问题,但那是很久以前的事了。@Josh:Id是如何分配的(sql server生成,代码分配),您使用的是POCO对象吗?您使用的是什么版本的EF?我正在对导航属性进行添加,并将对象添加到上下文中。@断管,我使用的是EF 4,ID是GUID,因此代码被分配,对象是.TT生成的,并使用分部类对其进行扩展。@Josh:检查生成的代码中的实体,可能有r关系状态管理问题,如在Parent.Childs集合中有Child,而不是set Child.Parent引用,用于双边关系。@断管道,我正在检查关系,我执行了GetAllRelatedEnds并查看了两个父对象。现在我还看到对象的“IsRelationship”设置为false和_owner为空。不知道在何处查看或设置Child.Parent引用。