Ist Linq to Entities Cache-Abfragen?
-
06-07-2019 - |
Frage
Ich werde mit Linq to Entities sein. Die Frage, die ich habe, ist, werde ich Linq to Entities mehrmals anrufen. Will to Entities LINQ-Abfragen zwischengespeichert wird es mehrmals aufgerufen wird? Wenn nicht, ist es eine Möglichkeit, um die Abfrage-Cache, so dass es nicht kompiliert wird, oder jedes Mal, erzeugt sie aufgerufen wird.
Lösung
Im Allgemeinen nicht genug Caching standardmäßig. Es gibt eine bestimmte Menge von kompilierten Query-Caching , die das Entity Framework tut , aber es lebt nicht mehr als die Object. Wenn Sie kurzlebig ObjectContexts haben, wie ich, wollen Sie etwas, das länger dauert. Dieses "Etwas" ist CompiledQuery .
Andere Tipps
Im Prinzip ja.
hier für weitere Details siehe -> „Sie werden immer die gleiche Instanz zurück, wenn Sie für das Objekt erneut abfragen“
Ein weiterer Link
UPDATE
, was bedeutet für Sie von kompilierten Abfragen? Abfragen, die immer den gleichen Satz von Objekt zurückgeben? Abfragen, die zu IL zusammengestellt? Abfragen, die die gleichen Instanzen?
zurückkehrenSie können eine kompilierte Abfrage verwenden, um die Abfrage, um zu verhindern, jedes Mal erzeugt wird. Dadurch wird die Leistung erheblich verbessern, wenn Sie die exakt gleiche Abfrage mehrmals verwendet werden.
http://thedatafarm.com/blog/ Datenzugriff / kompilierte-Abfragen-in-entity-framework /