Cache di query Persist Entity Framework

Ho un’applicazione web ASP.NET MVC 5 e utilizzo EF 6.1 per accedere al mio DB.
Ho alcune query LINQ piuttosto complesse che richiedono fino a 10 secondi per essere compilate, ma che vengono eseguite in pochi millisecondi. EF memorizza correttamente questa query e la seconda volta che viene eseguita la query restituisce entro pochi millisecondi.
Ma questa cache non è persistente, quindi su ogni app, il riavvio della query deve essere ricompilato, il che richiede ancora 10 secondi.

C’è un modo per mantenere questa cache di query in modo che sopravviva a un riavvio dell’app?

È ansible utilizzare query compilate: vedere qui o qui

static readonly Func> s_compiledQuery2 = CompiledQuery.Compile>( (ctx, total) => from order in ctx.SalesOrderHeaders where order.TotalDue >= total select order); 

Ma come detto qui l’object della query non deve uscire dall’ambito. Puoi gestirlo conservandolo nella cache nella sessione o come variabile dell’applicazione.