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
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Generare token per autenicarsi sulle API di GitHub
Sfruttare lo streaming di una chiamata Http da Blazor
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Utilizzare il trigger SQL con le Azure Function
Usare lo spread operator con i collection initializer in C#
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Utilizzare i primary constructor in C#
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Cancellare una run di un workflow di GitHub
Utilizzare i primary constructor di C# per inizializzare le proprietà
I più letti di oggi
- Cancellare una run di un workflow di GitHub
- Utilizzare Docker Compose con Azure App Service
- Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare un service principal per accedere a Azure Container Registry