Molto spesso può tornare utile accedere ai metadati per poter scrivere del codice generico o semplicemente perchè si vuole costruire un viewer che sia esterno al designer di visual studio. L'esempio più semplice è un file word utilizzato per la documentazione dello schema.
L'accesso ai metadati è possibile tramite la proprietà MetadataWorkspace della classe ObjectContext. In questo script vediamo come possiamo accedere allo schema concettuale per recuperare tutte le entity tramite il metodo GetItems<T>.
using (MyContext ctx = new MyContext()){
ctx.MetadataWorkspace.GetItems<EntityType>(DataSpace.CSpace);
}Il parametro generico specifica che si devono recuperare solo le entity, mentre il parametro CSpace specifica che si devono recuperare i dati dallo schema concettuale.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Eseguire query in contemporanea con EF
Mischiare codice server side e client side in una query LINQ con Entity Framework
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Loggare le query più lente con Entity Framework
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


