2011-01-08 57 views
1

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

回答

0

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

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