Configurazione del controllo EntityDataSource

Aggiornamento: novembre 2007

Il controllo EntityDataSourcesemplifica l'associazione di dati definiti da un modello Entity Data Model (EDM) ai controlli di un'applicazione Web ASP.NET sfruttando i componenti Object Services di ADO.NET Entity Framework. Ciò consente al controllo di creare ed eseguire query di oggetto e associare i controlli agli oggetti restituiti che sono istanze dei tipi di entità definiti in EDM. Per ulteriori informazioni, vedere Cenni preliminari su Object Services (Entity Framework).

Per connetersi al modello EDM e restituire i tipi di entità corretti, è necessario configurare le proprietà del controllo EntityDataSource. Una volta impostate le proprietà ConnectionString e DefaultContainerName, il controllo EntityDataSource può creare il ObjectContext utilizzato per eseguire query di oggetto. Una volta impostate le proprietà EntitySetName e EntityTypeFilter, è possibile definire il tipo di ObjectQuery<T> che il controllo EntityDataSource compone.

Nota:

Per utilizzare il controllo EntityDataSource, è necessario aggiungere un riferimento nell'applicazione alla DLL che contiene il modello EDM, i file di mapping e le classi che rappresentano i ObjectContext e i tipi di entità.

Stringa di connessione

È possibile inizializzare la proprietà ConnectionString del controllo EntityDataSource da una stringa di connessione EDM denominata archiviata nell'elemento connectionStrings del file di configurazione dell'applicazione. Quando si crea un modello EDM mediante la procedura guidata Entity Data Model, viene creata una connessione EDM denominata nel file di configurazione dell'applicazione. È quindi possibile visualizzare questa connessione come opzione della procedura guidata Configura origine dati della finestra di progettazione EntityDataSource. Per ulteriori informazioni, vedere la classe Procedura guidata Configura origine dati (controllo EntityDataSource).

Contesto dell'oggetto

In Object Services, un ObjectContext tipizzato rappresenta il contenitore di entità del modello concettuale. La classe ObjectContext costituisce la classe primaria per l'interazione con i dati definiti da un modello EDM. Questi dati sono sotto forma di oggetti che sono istanze dei tipi di entità. Un ObjectContext tipizzato incapsula una connessione al database e ai metadati che descrivono il modello, e un oggetto ObjectStateManager che tiene traccia degli oggetti durante le operazioni di creazione, aggiornamento ed eliminazione. La proprietà ContextTypeName del controllo EntityDataSource è una stringa che specifica il nome di tipo completo dell'oggetto ObjectContext tipizzato utilizzato dal controllo EntityDataSource. Se la proprietà ContextTypeName non viene specificata, è necessario impostare sia la proprietà DefaultContainerName che ConnectionString del controllo EntityDataSource per creare l'oggetto ObjectContext. È possibile accedere all'oggetto ObjectContext utilizzato dal controllo EntityDataSource dalla proprietà ContextType. Per ulteriori informazioni, vedere la classe Gestione del ciclo di vita del contesto degli oggetti (EntityDataSource).

Tipi di entità

In EDM, un set di entità costituisce un contenitore logico dei tipi di entità definiti nello schema concettuale. È possibile specificare il set di entità del tipo di oggetti a cui il controlloEntityDataSource accede tramite EntitySetName. Il valore della proprietà EntitySetName è l'istruzione SELECT predefinita utilizzata dal controllo. Non è necessario impostare la proprietà se la query viene specificata come espressione Entity SQL fornita alla proprietà CommandText. Per ulteriori informazioni, vedere la classe Testo del comando personalizzato (EntityDataSource).

Se il controllo EntityDataSource deve restituire un tipo derivato specifico, è inoltre necessario specificare il nome di questo tipo derivato nella proprietà EntityTypeFilter. Se la proprietà EntitySetName specifica un set di entità che può generare risultati polimorfici, è necessario che la proprietà EntityTypeFilter sia in grado di modificare i dati. Impostando la proprietà EntityTypeFilter si ottiene lo stesso effetto che applicando il metodo OfType<TResultType> a ObjectQuery<T>. Se l'associazione dati è di sola lettura, la proprietà EntityTypeFilter non è necessaria. In questo caso, le proprietà dell'oggetto restituito dalla query saranno quelle del tipo di entità predefinito per il set di entità.

Vedere anche

Concetti

Finestra di progettazione EntityDataSource

Procedura guidata Configura origine dati (controllo EntityDataSource)

Testo del comando personalizzato (EntityDataSource)

Altre risorse

Query di oggetto (Entity Framework)