Come fare in modo che Entity Framework memorizzi nella cache alcuni oggetti

.net entity entity-framework

Domanda

Sto usando Entity Framework.

Nel mio database sono memorizzate le persone e il paese di origine. Quando sto caricando una persona oggetto non voglio sapere qual è il posto che ogni persona ha origine. C'è un modo per memorizzare nella cache l'elenco dei paesi in modo che non ci siano richieste non necessarie.

Risposta accettata

Come ha già detto Luhmann, il mio compagno Jarek ha un eccellente fornitore di caching per l'Entity Framework. Di cui parla qui .

Tuttavia, a volte questo approccio è eccessivo e sospetto che i paesi di caching siano un buon esempio in cui lo sforzo non ne vale la pena. Forse è meglio implementare una sorta di caching ad hoc.

Se si tenta di fare ciò, il problema principale che si verificherà è che un'entità Entity Framework di istanza può essere collegata a un ObjectContext alla volta, il che significa che se si ricevono richieste concorrenti (come in un sito Web) si avranno problemi prendi gli oggetti dalla cache e li usi ciecamente.

Quello di cui hai bisogno è una cache di clonazione, cioè quando prendi qualcosa dalla cache che clona.

Ho messo insieme un suggerimento che illustra come fare questo Suggerimento 14 - Come memorizzare i dati di riferimento di Entity Framework

Spero che questo ti aiuti

Alex James

Entity Framework Team Microsoft.


Risposta popolare

Potresti dare un'occhiata agli eccellenti wrapper dei provider di tracing e memorizzazione nella cache di Jaroslaw Kowalski per Entity Framework .



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow