2011-03-28 155 views
0

所以,這裏的情況是 -實體框架數據上下文與數據庫不同步?

  • 我插入數據庫調用AddtoObject()的項目,然後調用的SaveChanges()。
  • 然後,我調用存儲過程來更新當前插入的記錄。
  • 然後,我再次調用Save changes()。
  • 數據庫當我查詢它有正確的更新值,但實體框架 上下文沒有更新的值..第一次。每當我刷新頁面它獲得價值..但第一次它永遠不會獲取更新的值。

所以有人遇到過類似的問題嗎?我在這裏做錯了什麼?

回答

5

問題是EF不知道你的存儲過程在做什麼,它怎麼可能?這項工作是在SQL Server上完成的。所以,你的存儲過程執行後,你需要問EF通過發出Refresh()調用更新(和其他相關的),比如:

context.Refresh(RefreshMode.StoreWins, myObject); 

StoreWins告訴覆蓋在背景值與數據庫值框架。