我们有两个Web应用程序,每个应用程序都为EF创建它自己的数据上下文。当我在一个应用程序中对实体进行更改时,当我在SQL Server Mangement Studio中查看数据时,可以看到页面和数据库中的更改。但是,我不会立即看到其他应用程序中的更改。实体框架是否有某种上下文缓存?
这两个应用程序都使用依赖注入,并且这两个应用程序都使用相同的业务层和数据层。因此,这两个应用程序中的用户界面都通过一个公共控制器类(不要与MVC控制器混淆),并且控制器通过它正在检索的实体的存储库。因为它们是不同的应用程序,它们都有自己的实体框架数据上下文实例。
如果存在某种缓存,我该如何关闭该缓存?
在此先感谢。
编辑 - 也许高速缓存在EF以上某处出现?清除我的浏览器缓存似乎不能解决问题。经过一段时间之后,我会突然看到其他应用程序中的记录更新,但一段时间没有任何提示会显示更新。
如果高速缓存发生在上下文中,那么当您在当前HTTP请求结束时处理上下文时,高速缓存的值应该消失。你有一个每个请求的上下文,对吧? – 2011-04-14 21:15:58
嗯。我想你只是让我意识到这个问题。你会把它作为答案吗? – Chev 2011-04-14 21:17:34