Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Entity Framework molto lento da caricare per la prima volta dopo ogni compilazione

Sulla prima query EF compila il modello. Questo può richiedere del tempo serio per un modello così grande.

Ecco 3 suggerimenti:http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/

Un riassunto:

  1. Utilizzo di un negozio di modelli db memorizzato nella cache
  2. Genera visualizzazioni precompilate
  3. Genera una versione precompilata di entityframework utilizzando n-gen per evitare il jitting

Mi assicurerei anche di compilare l'applicazione in modalità di rilascio durante l'esecuzione dei benchmark.

Un'altra soluzione consiste nel dividere il DBContext. 400 entità sono molte e dovrebbe essere più piacevole lavorare con blocchi più piccoli. Non l'ho provato ma presumo che sarebbe possibile costruire i modelli uno per uno, il che significa che nessun singolo carico richiede 15 secondi. Vedi questo post di Julie Lerman https://msdn.microsoft.com/en-us/magazine/jj883952.aspx