【问题标题】:Avoid getting data from entity framework's cache避免从实体框架的缓存中获取数据
【发布时间】:2010-06-10 03:32:10
【问题描述】:

我有一个奇怪的问题。我的应用程序中的一个页面在表格中显示任务的状态。我正在使用实体框架(实体到对象)来使用 DB 进行所有数据处理。我注意到即使在数据库中更新了状态,即使在连续刷新后它也不会反映在我的网页上!如果我停止服务器并再次启动应用程序(当前在 VS2008 开发服务器上运行),则会显示更新的数据!

我看到缓存的数据了吗?如何防止这种情况发生?

【问题讨论】:

    标签: asp.net entity-framework


    【解决方案1】:

    您的ObjectContext 生命周期应该是一个请求。如果你有一个永远存在的静态上下文,你会看到陈旧的数据......永远。 Here's an example of how to do it.

    【讨论】:

    • 在我的应用程序中,我使用 Spring.Net 将 EDM 对象注入 ASP 页面。这是否意味着它共享并保持活力?!?
    • 我没用过Spring.Net,但是大部分DI容器都允许你配置返回对象的生命周期。许多人已经建立了“每个请求”的生命周期。那正是你想要的。有时默认值为“单例”,这可以解释您所看到的行为。
    猜你喜欢
    • 2013-10-02
    • 1970-01-01
    • 2012-12-13
    • 2018-01-02
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    相关资源
    最近更新 更多