实体框架数据上下文与数据库不同步?

时间:2011-03-28 17:19:55

标签: entity-framework-4 datacontext sync

所以,情况就是这样 -

  • 我在数据库中插入一个调用AddtoObject()的项目,然后调用SaveChanges()。
  • 然后,我调用存储过程来更新当前插入的记录。
  • 然后,我再次调用Save changes()。
  • 我查询数据库时有正确的更新值,但实体框架 上下文没有更新的值......第一次......每当我刷新页面时,它都会获得值..但是第一次它永远不会获得更新的值。

任何人都可以随时遇到类似问题吗?我在这里做错了什么?

1 个答案:

答案 0 :(得分:6)

问题是EF不知道你的存储过程在做什么,它怎么可能?这项工作是在SQL Server上完成的。因此,在执行存储过程之后,您需要通过发出Refresh()调用来要求EF更新该(和其他相关)实例:

context.Refresh(RefreshMode.StoreWins, myObject);

StoreWins告诉框架用数据库中的值覆盖实例中的值。