EF在某些情况下保留旧值

时间:2014-06-10 11:00:40

标签: c# sql-server entity-framework

当使用实体框架时,从一些表/视图中读取时,似乎我得到旧数据。我的意思是外部流程改变了数据。

运行我的代码时,我看到EF构建并运行(使用分析器)SQL查询来检索数据,但旧值最终会出现在对象中。

对我来说更令人困惑的是,并非所有表/视图都会发生这种情况,但对于它确实起作用的表/视图,它是一致的。

如果我重新启动IIS,我会得到正确的结果,所以很明显这些值都存在于某个地方。

导致这种选择性缓存数据的原因是什么?如何影响它?

1 个答案:

答案 0 :(得分:1)

当您使用ObjectContext的同一个实例时,这是正常的。让它的寿命尽可能短。每个请求的实例应该没问题。