Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Das Entity-Framework wird nach jeder Kompilierung zum ersten Mal sehr langsam geladen

Bei der ersten Abfrage kompiliert EF das Modell. Dies kann bei einem so großen Modell einige Zeit in Anspruch nehmen.

Hier sind 3 Vorschläge:http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/

Eine Zusammenfassung:

  1. Verwenden eines zwischengespeicherten DB-Modellspeichers
  2. Generieren Sie vorkompilierte Ansichten
  3. Generieren Sie eine vorkompilierte Version des Entityframework mit n-gen, um Jitting zu vermeiden

Ich würde auch sicherstellen, dass ich die Anwendung im Release-Modus kompiliere, wenn ich die Benchmarks durchführe.

Eine andere Lösung besteht darin, den DBContext aufzuteilen. 400 Einheiten sind viel und es sollte schöner sein, mit kleineren Chunks zu arbeiten. Ich habe es nicht ausprobiert, aber ich gehe davon aus, dass es möglich wäre, die Modelle einzeln zu bauen, was bedeutet, dass kein einzelner Ladevorgang 15 Sekunden dauert. Siehe diesen Beitrag von Julie Lerman https://msdn.microsoft.com/en-us/magazine/jj883952.aspx