#110 - Ricercare un oggetto prima in memoria e poi sul database con Entity Framework
di Stefano Mostarda, in LINQ, Entity Framework, 25 marzo 2009
Quando si esegue una query sfruttando LINQ to Entities o Entity SQL, Entity Framework prima effettua la query ed una volta ottenuti i risultati verifica se l'oggetto ritrovato è già presente in memoria. Per default, se l'oggetto già è stato caricato, quello letto dal database viene scartato. Questo a volte è uno spreco di risorse in quanto si potrebbe prima cercare l'oggetto in memoria e poi sul database.
Per fare questo possiamo utilizzare il metodo GetObjectByKey che accetta in input una EntityKey e ricerca appunto l'oggetto prima in memoria e poi sul database.
var key = new EntityKey("Customers", "CustomerId", 1); var customer = ctx.GetObjectByKey(key);
La classe EntityKey accetta come parametri il nome dell'EntitySet, il nome della proprietà che fa da primary key ed il suo valore. Il metodo GetObjectByKey è invece molto semplice.
Approfondimenti
-
Real Code Day 4.0: costruire applicazioni reali - Firenze
-
#122 - Ricercare nodi su più livelli in una struttura XML utilizzando LINQ to XML
-
#116 - Visualizzare gli handler abilitati in un'applicazione web con LINQ e Microsoft.Web.Administration
-
#164 - Eseguire una stored procedure tramite l'Entity Client di Entity Framework
-
#111 - Personalizzare la serializzazione delle entità di ADO.NET Data Services
-
#120 - Filtrare i risultati di una query in base ad una lista di dati predefiniti con Entity Framework
-
#153 - Invocare servizi WCF da Javascript
-
ModelVirtualCasting: un'applicazione completa per .NET Framework 4.0 e Silverlight 4.0
-
#166 - Recuperare le funzioni definite nel conceptual schema dell'EDM in Entity Framework
-
#rcd4 @sm15455 si occupa di #entityframework 4 e data strategies http://u.aspitalia.com/bw
-
#107 - Passare un Expression di Entity Framework attraverso un servizio WCF
-
#140 - Estrarre un elemento in una determinata posizione da una lista non indicizzata con LINQ

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.