Quando istanziamo il DbContext, Entity Framework non carica automaticamente tutti i metadati dell'EDM all'interno del DbContext stesso. Se proviamo ad accedere ai metadati che non sono caricati, quello che otteniamo è un'eccezione di dati non trovati.
Per evitare l'eccezione, dobbiamo scatenare il caricamento di tutti i metadati eseguendo una qualunque query sul database. Tuttavia, eseguire una query solo per recuperare i metadati è uno spreco di risorse. Per evitare di eseguire una query possiamo semplicemente invocare il metodo ToString di un DbSet qualsiasi esposto dal DbContext. In questo modo Entity Framework è costretto a recuperare tutti i metadati in quanto deve generare il codice SQL per quel DbSet senza però eseguire alcuna query.
(using ctx = new MyContext()){ ctx.MySet.ToString(); //codice per accedere ai metadati }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare la command injection in un workflow di GitHub
Creazione di componenti personalizzati in React.js con Tailwind CSS
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Migrare una service connection a workload identity federation in Azure DevOps
.NET Conference Italia 2023
Creare moduli CSS in React
Usare le variabili per personalizzare gli stili CSS
Come migrare da una form non tipizzata a una form tipizzata in Angular
Implementare l'infinite scroll con QuickGrid in Blazor Server
Utilizzare politiche di resiliency con Azure Container App