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
Aggiornare a .NET 9 su Azure App Service
Introduzione ai web component HTML
.NET Aspire per applicazioni distribuite
Eseguire i worklow di GitHub su runner potenziati
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Change tracking e composition in Entity Framework
Eseguire query in contemporanea con EF
Gestione degli stili CSS con le regole @layer
Gestione dei nomi con le regole @layer in CSS
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Usare le navigation property in QuickGrid di Blazor
I più letti di oggi
- le nuove api in #wp7 #mango (7.1) sono già su msdn: http://aspitalia.com/w5 nel pomeriggio microsoft svelerà le altre novità
- #office 2010 beta 2 e #sharepoint 2010 su MSDN e TechNet downloads http://u.aspitalia.com/cv
- Annunciata l'app di #Azure per #iOS e #Android con supporto alla Cloud Shell! https://aspit.co/build2017 #msbuild
- Recuperare un elemento inserito nella cache del browser tramite API JavaScript
- Microsoft TechDays-WPC 2010 - Assago (MI)
- .NET Conference Italia 2024 - Milano