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
Sfruttare al massimo i topic space di Event Grid MQTT
Effettuare il download di un file via FTP con la libreria FluentFTP di .NET
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Eseguire le GitHub Actions offline
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Installare le Web App site extension tramite una pipeline di Azure DevOps
Usare le collection expression per inizializzare una lista di oggetti in C#
Monitorare i server on-premises con Azure Arc
Creare gruppi di client per Event Grid MQTT
Definire lo stile CSS in base alle dimensioni del container
Determinare lo stato di un pod in Kubernetes