Wie lässt man Entity Framework einige Objekte zwischenspeichern?

.net entity entity-framework

Frage

Ich verwende das Entity Framework.

In meiner Datenbank sind Personen und Herkunftsland gespeichert. Wenn ich ein Objekt lade, möchte ich nicht wissen, woher die Person kommt. Gibt es eine Möglichkeit, die Liste der Länder zwischenzuspeichern, damit keine unnötigen Anfragen entstehen.

Akzeptierte Antwort

Wie Luhmann bereits sagte, hat mein Partner Jarek einen hervorragenden Caching-Anbieter für das Entity Framework. Was spricht er über hier .

Manchmal ist dieser Ansatz jedoch übertrieben, und ich vermute, dass das Cachen von Ländern ein gutes Beispiel ist, bei dem sich der Aufwand nicht lohnt. Es ist vielleicht besser, eine Art Ad-hoc-Caching zu implementieren.

Wenn Sie versuchen, dies zu tun, besteht das Hauptproblem darin, dass eine Entity Framework-Entität nur zu einem Zeitpunkt an einen ObjectContext angehängt werden kann. Wenn Sie also gleichzeitige Anforderungen (wie auf einer Website) erhalten, treten Probleme auf Sie nehmen einfach Gegenstände aus dem Cache und verwenden sie blind.

Was Sie brauchen, ist ein Klon-Cache, dh wenn Sie etwas aus dem Cache holen, werden diese geklont.

Ich habe einen Tipp zusammengestellt, der veranschaulicht, wie dies getan wird. Tipp 14 - Wie man Entity Framework-Referenzdaten zwischenspeichert

Hoffe das hilft

Alex James

Entity Framework Team Microsoft.


Beliebte Antwort

Sie können einen Blick auf Jaroslaw Kowalskis exzellente Anbieter für das Aufzeichnen und Zwischenspeichern von Entity Frameworks werfen.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum