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
Entity framework 将现有实体添加到其他实体的导航属性_Entity Framework - Fatal编程技术网

Entity framework 将现有实体添加到其他实体的导航属性

Entity framework 将现有实体添加到其他实体的导航属性,entity-framework,Entity Framework,我正在使用EF4,当我试图做一些对我来说很琐碎的事情时,我遇到了一个问题 我有两个实体,我们称它们为A和B。这些实体之间有多对多关联,A上有一个导航属性,其中包含一个相关B实体的列表 我想做的是将现有的B实体添加到新的a实体。当我尝试这样做时,我得到一个例外: AcceptChanges无法继续,因为 对象的键值与 中的另一个对象 ObjectStateManager。确保 在调用之前,键值是唯一的 接受变化 有人遇到过这样的问题吗 更多可能相关的信息: 我已经根据模型创建了数据库 我有一个基

我正在使用EF4,当我试图做一些对我来说很琐碎的事情时,我遇到了一个问题

我有两个实体,我们称它们为A和B。这些实体之间有多对多关联,A上有一个导航属性,其中包含一个相关B实体的列表

我想做的是将现有的B实体添加到新的a实体。当我尝试这样做时,我得到一个例外:

AcceptChanges无法继续,因为 对象的键值与 中的另一个对象 ObjectStateManager。确保 在调用之前,键值是唯一的 接受变化

有人遇到过这样的问题吗

更多可能相关的信息:

  • 我已经根据模型创建了数据库
  • 我有一个基础实体,a和B实体都从中继承

更新:找到解决方案-分离链接实体并将其重新连接到上下文,然后一切按计划进行。

我今天遇到了类似的问题。在我的例子中,我的表是一个视图,我为InsertFunction添加了一个存储过程。问题是我没有确认存储过程中的结果绑定。症状是我可以添加单个实体,但添加多个实体时出现“键值冲突”异常

一旦我让存储过程返回新的ID(key),然后配置EF的结果bidding,一切都很好

在存储过程的末尾添加如下内容:

select SCOPE_IDENTITY() as NewWidgetId
在EF配置中,设置结果绑定:

NewWidgetId -> WidgetId : <widget's type>

NewWidgetId->WidgetId:你读过这个吗?仔细检查PK和ID道具是否配置正确?现在检查。看起来一切正常…可能与此相关:-您能否发布一些代码,显示添加和保存更改的步骤以及与此相关的objectcontext?