【问题标题】:Turn Off Object Caching in Entity Framework CTP5在实体框架 CTP5 中关闭对象缓存
【发布时间】:2011-02-06 12:31:00
【问题描述】:

我在 CTP 5 中使用 Entity Framework Code First 的东西时遇到了麻烦。它正在缓存对象,我不希望它这样做。例如,我加载了一个加载对象的页面(使用 ASP.NET MVC 站点)。然后我去更改数据库。我重新加载页面并且没有反映更改。如果我杀死该站点并重新运行它,那么它显然会重新获取。我如何,通常对于一个类型,甚至对于一个特定的查询,告诉它总是去获取一个新的副本。我认为这可能与 MergeOption 有关,但我无法找到适用于 CTP 5 的示例。谢谢。

【问题讨论】:

    标签: entity-framework-ctp5


    【解决方案1】:

    好的,想通了。以下内容有时会从 EF 缓存中提取:

    return (from m in _dataContext.Monkeys
            where m.MonkeyId == monkeyId
            select m).FirstOrDefault();
    

    您可以使用 AsNoTracking() 绕过更改跟踪/缓存内容:

    return (from m in _dataContext.Monkeys.AsNoTracking()
            where m.MonkeyId == monkeyId
            select m).FirstOrDefault();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 2010-11-11
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      相关资源
      最近更新 更多