Mam aplikację sieci web ASP.NET MVC 5 i używam EF 6.1, aby uzyskać dostęp do mojej bazy danych.
Mam dość skomplikowane zapytania LINQ, których skompilowanie zajmuje do 10 sekund, a następnie wykonanie w ciągu kilku milisekund. EF buforuje te zapytania w porządku, a przy drugim uruchomieniu zapytania zwraca się w ciągu tych kilku milisekund.
Ale ta pamięć podręczna nie jest zachowywana, więc przy każdym ponownym uruchomieniu aplikacji zapytanie musi zostać zrekompilowane, co zajmuje ponownie 10 sekund.Baza zapytań Persist Entity Framework
Czy istnieje sposób na utrzymanie tej pamięci podręcznej zapytań, aby przetrwał ponowne uruchomienie aplikacji?
http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/ –
Dzięki za link, ale ja już robić większość tego i nie obsługuje pamięci podręcznej zapytań, ale tylko buforowanie modelu ... – ChrFin
Pamięć podręczna zapytań to słownik wewnątrz QueryCacheManager. Próbowałem zapisać go za pomocą refleksji, ale ponieważ QueryCacheKey i QueryCacheEntry nie są publiczne i nie są oznaczone jako Serializable, nie jest to możliwe. Zapisywanie/ładowanie bufora planu zapytań byłoby bardzo przydatną funkcją, więc powinieneś utworzyć problem na http://entityframework.codeplex.com/workitem/list/advanced –