10

Ho usato "EF Provider Wrappers" prodotto da Jarek Kowalski. Funziona bene ma ho notato la sezione "Limitazioni e Avvertenze" in cui si dice:Che cosa consiglia Microsoft per la memorizzazione nella cache di secondo livello in Entity Framework?

I provider non sono stati ampiamente testati al di là di ciò che è incluso nel codice di esempio, in modo da li si dovrebbe utilizzare a proprio rischio.

Come con qualsiasi altro campione, Microsoft non offre alcun tipo di supporto per esso, ma se trovare bug o avere funzionalità suggerimenti, si prega di utilizzare modulo di contatto di questo blog e fatemi sapere su di loro.

Sono po 'confuso qui, fa davvero aspettare di Microsoft agli sviluppatori di utilizzare EnityFramework su siti di produzione senza alcun supporto ufficiale (o raccomandazione) per il 2 ° livello di memorizzazione nella cache?

+7

Il il titolo sembra un po 'aggressivo. Invece di continuare con "l'attacco", prendi in considerazione la possibilità di chiedere l'obiettivo desiderato, ad esempio: che cos'è una strategia di caching di secondo livello supportata per EF? (La prima impressione può fare una grande differenza per le risposte e/o i voti stretti ..) –

risposta

8

Non esiste un supporto cache di secondo livello ufficiale. Non sono nemmeno sicuro se i wrapper del provider EF siano compatibili con .NET 4.5. Cache di secondo livello is in backlog per versioni future di EF.

È inoltre possibile implementare la propria soluzione perché EF is fully open sourced.

Btw. Ho visto decine di siti web piuttosto complessi in esecuzione in produzione senza alcun nascondiglio ...

+0

Grazie Ladislav, ci sono piccoli problemi nei wrapper dei provider EF in Entity Framework 5 che sono risolvibili. –

+0

Questo provider non funziona con EF6. –

+2

'Inviaci una patch'. Ottimo approccio dalla più grande azienda di software al mondo. –

8

V'è ora un secondo fornitore di cache di livello disponibile per EF 6.x

Entity Framework attualmente non supporta la memorizzazione nella cache di risultati delle query. Un provider EF di caching di esempio è disponibile per Entity Framework versione 5 e precedenti, ma a causa di modifiche al modello di provider questo provider di esempio non funziona con Entity Framework 6 e versioni successive. Questo progetto sta colmando il gap abilitando il caching dei risultati delle query per le applicazioni Entity Framework 6.1.

https://github.com/moozzyk/EFCache

e fornitore Redis implementato su di esso:

Estende EFCache aggiungendo il supporto Redis

ho voluto aggiungere L2 Cache EF usando Redis - non c'era niente disponibili al momento.

ho trovato EFCache scritto da Pawel Kadluczka (moozzyk) sopra su CodePlex

https://github.com/silentbobbert/EFCache.Redis