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.

War es hilfreich?

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ückkehren

Sie 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 /

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top