Molto spesso abbiamo la necessità di scoprire quale sia il tipo base di una entity. Il metodo più semplice è quello di sfruttare la reflection. Lo svantaggio derivante dall'uso della reflection è rappresentato dalla sua estrema lentezza. Per velocizzare le performance possiamo sfruttare i metadati di Entity Framework in quanto la entity è mappata nell'EDM.
In questo snippet vediamo come ottenere la classe base Persona di una entity Manager.
using (var ctx = new MyContext())
{
var item = ctx.MetadataWorkspace.GetItem<EntityType>(
"Model.Manager", DataSpace.OSpace);
//baseType contiene il tipo Persona
var baseType = item.BaseType;
}Accedere ai metadati velocizza notevolmente performance rispetto all'uso della reflection quindi ne consigliamo fortemente l'uso.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Implementare il throttle in JavaScript
Gestire progetti .NET + React in .NET Aspire
Definire il colore di una scrollbar HTML tramite CSS
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Introduzione alle Container Queries
Escludere alcuni file da GitHub Copilot
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Managed deployment strategy in Azure DevOps
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Creare una libreria CSS universale: Immagini
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform


