当前位置: 首页 > 编程语言 > C#

持久实体框架查询缓存分享

时间:2023-04-10 21:44:49 C#

持久实体框架查询缓存我有一个ASP.NETMVC5web应用程序,使用EF6.1访问我的数据库。我有一些相当复杂的LINQ查询,最多需要10秒来编译,但随后会在几毫秒内执行。EF确实缓存了这些查询,第二次执行查询时,它会在毫秒内返回。但是这个缓存不会持久化,所以在每次应用程序重新启动时,都需要重新编译查询,同样需要10秒。有没有办法让这个查询保持缓存,以便它在应用程序重新启动后仍然存在?您可以使用编译查询:参见此处或此处staticreadonlyFunc>s_compiledQuery2=CompiledQuery.Compile>((ctx,total)=>fromorderinctx.SalesOrderHeaderswhereorder.TotalDue>=totalselectorder);但正如此处所述,查询对象不得超出范围。您可以通过将其缓存在会话中或作为应用程序变量来处理它。以上就是C#学习教程:持久化实体框架查询缓存分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: