【发布时间】:2015-09-19 12:32:40
【问题描述】:
是否有机会使用实体框架禁用查询执行计划缓存?
我知道在 objectQuery 中我可以在每个查询中禁用它:https://msdn.microsoft.com/pl-pl/library/system.data.objects.objectquery.enableplancaching(v=vs.110).aspx) 但我在 dbQuery 中没有看到这样的选项。
我也知道 EF 6 中有拦截器,我可以简单地附加选项(重新编译),但我找不到解决方案如何仅将其附加到一个确切的查询而不是上下文中的每个查询。
【问题讨论】:
-
您究竟为什么要尝试禁用 LinqToEntity 查询计划缓存?你知道这纯粹是为了生成 SQL,而不是 SQL Server 查询计划……对吧?
-
当然我知道 EF 是用于 sql 生成的,它被设计为跨数据库。但仍在寻找解决我的问题的方法。
-
@Aron - 如果他想禁用缓存有什么关系?一方面,我还尝试禁用一个特定查询的缓存,因为多次执行时得到的结果不正确
标签: asp.net sql-server entity-framework