2011-03-28 123 views
0

所以,这里的情况是 -实体框架数据上下文与数据库不同步?

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

所以有人遇到过类似的问题吗?我在这里做错了什么?

回答

5

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

context.Refresh(RefreshMode.StoreWins, myObject); 

StoreWins告诉覆盖在背景值与数据库值框架。