c# - Entity Framework 是否有某种上下文缓存?

标签 c# entity-framework caching entity-framework-4 webforms

我们有两个 Web 应用程序,每个应用程序都在为 EF 创建自己的数据上下文。当我在一个应用程序中更改实体时,当我在 SQL Server Mangement Studio 中查看数据时,我会在页面和数据库中看到更改。但是,我没有立即在其他应用程序中看到更改。

两个应用程序都使用依赖注入(inject),并且两个应用程序都使用相同的业务层和数据层。因此,两个应用程序中的 UI 通过一个公共(public) Controller 类(不要与 MVC Controller 混淆),并且 Controller 通过它正在检索的实体的存储库。因为它们是不同的应用程序,所以它们每个都有自己的 Entity Framework 数据上下文实例。

如果有某种缓存,我该如何关闭它?

提前致谢。

编辑 - 也许缓存发生在 EF 之上的某个地方?清除浏览器缓存似乎无法解决问题。过了一段时间后,我会突然在另一个应用程序中看到对记录的更新,但是有一段时间没有任何刷新会显示更新。

最佳答案

如果缓存发生在上下文中,当您在当前 HTTP 请求结束时处理上下文时,缓存的值应该消失。您确实有每个请求的上下文,对吧?

这是一些 context lifetime best practices .

关于c# - Entity Framework 是否有某种上下文缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5669700/

相关文章:

c# - MVC 5 未正确验证 StringLength 属性

caching - IIS 缓存和 HTTP 缓存

c# - 对集合进行排序时调用 CompareTo 方法多少次?

c# - 使用 Google.Cloud.BigQuery.V2 的 BigQuery 加载作业的幂等性

c# - Web 开发人员学习 C 语言有什么好处吗?

c# - 如何将参数传递给exe?

c# - 在 C# 中使用泛型进行条件比较

entity-framework - 具有标识列的 SQL Server Compact 4.0 表中的插入性能呈指数级下降

java - 具有多个键的缓存

c# - 使用 Entity Framework 防止缓存的对象最终出现在数据库中