La classe DbContext ci permette di accedere alle principali funzionalità di Entity Framework. Tuttavia, questa classe non copre il 100% delle funzionalità. Ad esempio, non possiamo eseguire query sfruttando Entity SQL così come non possiamo chiamare il metodo SaveChanges specificando se applicare le modifiche agli oggetti in memoria dopo che gli stessi oggetti sono stati persistiti sul database.
Per eseguire queste operazioni dobbiamo obbligatoriamente ricorrere alla classe ObjectContext. Un'istanza della classe DbContext ingloba internamente un'istanza della classe ObjectContext ed espone questa istanza attraverso la proprietà ObjectContext dell'interfaccia IObjectContextAdapter che la classe DbContext implementa.
Questo significa che semplicemente castando l'oggetto di tipo DbContext all'interfaccia IObjectContextAdapter possiamo poi recuperare l'istanza dell'ObjectContext attraverso l'omonima proprietà così come mostrato nel seguente codice.
using (var ctx = new MyContext()){ ObjectContext context = ((IObjectContextAdapter)ctx).ObjectContext; ... }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Miglioramenti nelle performance di Angular 16
Eseguire operazioni sui blob con Azure Storage Actions
Migrare una service connection a workload identity federation in Azure DevOps
Limitare le richieste lato server con l'interactive routing di Blazor 8
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Sostituire la GitHub Action di login su private registry
Assegnare un valore di default a un parametro di una lambda in C#
Triggerare una pipeline su un altro repository di Azure DevOps
Gestire la cancellazione di una richiesta in streaming da Blazor
Potenziare Azure AI Search con la ricerca vettoriale