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
Ospitare n8n su Azure App Service
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Loggare le query più lente con Entity Framework
Utilizzare Container Queries nominali
Ridimensionamento automatico input tramite CSS
Utilizzare Hybrid Cache in .NET 9
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Mischiare codice server side e client side in una query LINQ con Entity Framework
Gestione ciclo di vita in .NET Aspire
Utilizzare Intersect e Except per filtrare set di dati in TSql
Utilizzare WebJobs su Linux con Azure App Service
DevSecOps per .NET: dalla teoria alla pratica
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Sfruttare una CDN con i bundle di ASP.NET
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Gli oggetti CallOut di Expression Blend 4.0
- Le DirectInk API nella Universal Windows Platform
- Inserire le news di Punto Informatico nel proprio sito


