0

不知道为什么这刚刚开始发生,但我有一种情况,我从数据库中读取的实体不包含之前从存储过程更新的新值。在我的存储过程进行更新后,我看到了数据库中的更改,并且我还调用了 UnitOfWork.Commit 来保存任何其他更改。我认为再次调用该项目,并且值与数据库中的值不同。这有什么原因吗?在更新之前我没有在任何地方抓取这个项目,所以我不知道 EF 在更新后第一次抓取它时如何知道它。

4

2 回答 2

0

我猜实体框架会以某种方式缓存这些值。我会尝试使用该Refresh()方法强制实体框架返回数据存储,RefreshMode.StoreWins以确保数据存储值获胜。

于 2013-07-19T20:29:40.133 回答
0

我移动了一些逻辑,以便在任何 EF 调用之前更新该项目。

于 2013-07-26T04:45:47.663 回答