我在开发测试期间遇到问题,但在预生产环境中也是如此(我想在生产环境中也是如此)。
每次我直接在数据库上修改数据(从我的应用程序外部),就像我的应用程序没有看到任何更改并仍然检索旧数据。当然,我确实承诺。 我的应用程序使用EF6.1.3。我以为EF有这样的缓存。但我读到了:
Entity Framework目前不支持缓存查询结果。实例框架版本5及更早版本提供了一个示例EF缓存提供程序,但由于对提供程序模型的更改,此示例提供程序无法与Entity Framework 6及更高版本一起使用。
因此,如果它不是EF缓存可以是什么,我该如何解决?
我知道在生产环境中我不会直接从db更改数据,但是将来我们将开发另一个应用程序将使用相同的数据库和相同的数据。
谢谢
答案 0 :(得分:0)
这可能是因为Configuration.AutoDetectChangesEnabled
在数据库上下文中设置为false
。默认情况下应该是这样,我认为在上下文的构造函数中执行此操作之前,应首先检查构造函数。
Configuration.AutoDetectChangesEnabled = true;