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