在调用SaveChanges时,这种情况如何导致EntityFramework中的UpdateException?

时间:2011-01-27 09:44:44

标签: asp.net entity-framework-4

我无法理解这个msdn页面中的粗体行: -

http://msdn.microsoft.com/en-us/library/bb738618.aspx

当无法在数据源中成功创建添加到ObjectContext的对象时,SaveChanges可以生成UpdateException。 如果已存在具有由关系指定的外键的行,则会发生这种情况。发生这种情况时,您无法使用Refresh更新对象上下文中添加的对象。而是使用OvergeriteChanges for MergeOption重新加载对象。

在表中,外键列可以多次具有单个值。例如用户表中的DepartmentID外键:多个用户可以拥有相同的DepartmentID外键。

那么这怎么会导致UpdateException?

1 个答案:

答案 0 :(得分:0)

易。您的上下文中的实体处于Added状态,其中PK值已经存在于数据库中。当人们尝试错误地使用存根对象时,这种情况很常见。如果您需要更多帮助,则需要隔离问题并发布代码。