代码优先 - 主键约束

时间:2011-01-08 18:24:19

标签: entity-framework

我首先使用代码(实体框架)。当我调用DbContext.SaveChanges()时,我得到一个主键约束,因为这里已有这样的记录。我想覆盖记录,如果它已经存在于数据库中。这是最简单的方法。在我的项目中,每次调用savechanges来重复主键时都要检查。感谢

1 个答案:

答案 0 :(得分:0)

不幸的是,EF要求你知道你是在添加还是修改实体。所以唯一的方法是:

  • 将此知识保存在您的应用程序中,并在ObjectStateManager中设置正确的EntityState。
  • 首先加载实体。如果存在则修改其数据,如果不创建新实体并将其添加到上下文中。