Panoramica della gerarchia dei tipi di metadati
La gerarchia dei tipi di metadati ADO.NET fornisce un insieme di tipi .NET Framework per rappresentare gli stessi concetti definiti in Entity Data Model (EDM) in Entity Framework. Per ulteriori informazioni su Entity Framework e EDM, vedere ADO.NET Entity Framework e Entity Data Model.
Per illustrare la gerarchia dei tipi di metadati vengono utilizzati tre concetti fondamentali: i tipi, i membri e le relazioni. I tipi sono i costrutti di livello superiore che costituiscono la base di EDM. In EDM i tipi possono essere semplici o strutturali. I membri definiscono il contenuto dei tipi strutturali. Le relazioni forniscono connessioni logiche tra i tipi di entità derivati dai tipi strutturali.
ADO.NET fornisce lo spazio dei nomi System.Data.Metadata.Edm per gestire i servizi di metadati per Entity Framework. Nel diagramma seguente viene illustrata la gerarchia dei tipi supportata dallo spazio dei nomi System.Data.Metadata.Edm.
La classe di livello superiore è un oggetto MetadataItem, che è la classe base per tutte le classi nella gerarchia dei tipi di metadati ADO.NET. Una classe EdmType è la classe base per le classi che rappresentano tipi in EDM. Un oggetto StructuralType è un tipo di base per tutti i tipi nella gerarchia dei tipi di metadati che includono membri. Per ulteriori informazioni sui tipi nella gerarchia dei tipi di metadati, vedere Tipi (metadati). Nell'esempio di codice nella classe GlobalItem viene descritta l'esplorazione dei tipi nella gerarchia dei tipi di metadati. Per ulteriori informazioni sui tipi in EDM, vedere Tipi EDM (Entity Data Model).
Oltre ai tipi citati in precedenza, lo spazio dei nomi System.Data.Metadata.Edm fornisce altre classi per rappresentare gli altri concetti importanti all'interno dei modelli utilizzati da Entity Framework, quali i contenitori di entità, i set di entità, i set di associazioni e le funzioni.
In EDM un oggetto EntityContainer rappresenta un raggruppamento logico di set di entità e set di associazioni. Un oggetto EntitySet rappresenta un contenitore logico per entità di un singolo tipo. Analogamente, un oggetto AssociationSet rappresenta un contenitore per associazioni dello stesso tipo.
Nell'esempio di codice nella classe EntityContainer viene illustrato come recuperare informazioni sui contenitori di entità e i set di entità. Per ulteriori informazioni sulla modalità di utilizzo di contenitori di entità, set di entità e set di associazioni in EDM, vedere Contenitori di entità (EDM), Set di entità (EDM)e Set di associazioni (EDM).
Ogni provider o database di archiviazione può includere molte funzioni predefinite e definite dall'utente. Entity Framework fornisce funzioni canoniche per riflettere le funzioni predefinite più comunemente utilizzate. Quando si utilizzano funzioni canoniche in una query Entity SQL, la funzione appropriata viene chiamata in corrispondenza del provider di archiviazione. Nell'argomento Funzioni e parametri delle funzioni (metadati) viene illustrato come recuperare informazioni sulle funzioni canoniche definite in Entity Framework e sulle funzioni specifiche dell'archivio definite nel provider di archiviazione sottostante.