我确定这是重复的,但在搜索互联网后我找不到问题。因此,如果这是重复的,请指出正确的。
问题:我怎样才能让实体框架拾取从另一个来源发生的数据库中实体中的更改。
由于未更新 DbContext 缓存,我在这类事情上遇到了很多问题。
示例:假设我有 2 台具有相同架构的服务器。两台服务器一起工作并且都使用该表Person
。
- 服务器 A 创建
Jack
一个年龄为 21 岁的人,并将其保存到数据库中。Jack
缓存在服务器 A 的 DbContext 中。 - 服务器 B
Jack
在服务器 A 创建数据库后从数据库中获取。然后,服务器 BJack
将年龄更新到 22 岁,并将其保存到数据库中。 - 向服务器A 发出请求
Jack
。因此,服务器 A 的 DbContext 以Jack
缓存中的版本进行响应……年龄仍为 21 岁。
我很难相信服务器 A 的 DbContext 没有办法重新获取记录。我觉得这种能力应该融入到实体框架中。如果没有,那我还有什么其他选择?
我想到的一种选择是告诉实体框架不要使用缓存。这可能吗?