Cenni preliminari su Object Services (Entity Framework)

Object Services è un componente di Entity Framework che consente di eseguire query sui dati e di inserire, aggiornare ed eliminare i dati, espressi come oggetti CLR fortemente tipizzati che sono istanze dei tipi di entità.Object Services supporta sia query LINQ (Language Integrated Query) che query Entità SQL sui tipi che sono definiti nel modello concettuale.Object Services consente di materializzare i dati restituiti come oggetti e di propagare di nuovo le modifiche agli oggetti nell'origine dati.Fornisce inoltre funzionalità per il rilevamento delle modifiche, l'associazione degli oggetti ai controlli e la gestione della concorrenza. Il componente Object Services viene implementato dalle classi negli spazi dei nomi System.Data.Objects e System.Data.Objects.DataClasses.

Contesto dell'oggetto

La classe ObjectContext è la classe primaria per l'interazione con i dati sotto forma di oggetti che sono istanze dei tipi di entità definiti in un modello concettuale.Un'istanza della classe ObjectContext incapsula gli elementi seguenti:

  • Una connessione al database sotto forma di oggetto EntityConnection.

  • I metadati che descrivono il modello sotto forma di oggetto MetadataWorkspace.

  • Un oggetto ObjectStateManager che tiene traccia degli oggetti durante le operazioni di creazione, aggiornamento ed eliminazione.

Gli strumenti di Entity Framework utilizzano un file CSDL (Conceptual Schema Definition Language) e generano il codice del livello oggetti.Questo codice consente di utilizzare i dati delle entità come oggetti e di sfruttare le funzionalità di Object Services.Questo codice generato include le classi di dati seguenti:

  • Una classe ObjectContext tipizzata.Tale classe rappresenta l'oggetto EntityContainer per il modello ed è derivata da ObjectContext.

  • Classi che rappresentano i tipi di entità ed ereditano da EntityObject.

  • Classi che rappresentano i tipi complessi ed ereditano da ComplexObject.

Nota

La classe ObjectContext non è thread-safe.Negli scenari con multithreading non è possibile assicurare l'integrità degli oggetti dati in ObjectContext.

Utilizzo di Object Services

Object Services supporta il comportamento seguente per la programmazione in Entity Framework.

Esecuzione di query sui dati come oggetti

Object Services consente di utilizzare i metodi del generatore di query, LINQ (Language Integrated Query) o Entità SQL per eseguire query su un modello concettuale e restituire i dati come oggetti.Per ulteriori informazioni, vedere Query di oggetto (Entity Framework).

Determinazione della struttura dei risultati di query

Per impostazione predefinita, Object Services restituisce solo gli oggetti richiesti in maniera specifica nella query.Quando sono presenti relazioni tra gli oggetti, è possibile specificare se una query deve restituite gli oggetti correlati.È inoltre possibile caricare gli oggetti correlati in una richiesta successiva.Per ulteriori informazioni, vedere Determinazione della struttura dei risultati di query (Entity Framework).

Composizione di query utilizzando i metodi del generatore

Object Services fornisce metodi da eseguire su ObjectQuery utilizzati per costruire query equivalenti alle query Entità SQL e LINQ to Entities.Per ulteriori informazioni, vedere Metodi del generatore di query (Entity Framework).

Aggiunta, modifica ed eliminazione di oggetti

Object Services consente di salvare in modo persistente gli oggetti dati in memoria e di aggiungere, modificare ed eliminare gli oggetti all'interno di un contesto dell'oggetto.Le modifiche apportate agli oggetti vengono rilevate dal contesto dell'oggetto.Per ulteriori informazioni, vedere Creazione, aggiunta, modifica ed eliminazione di oggetti (Entity Framework).

Salvataggio delle modifiche nell'origine dati

Object Services consente di archiviare nella cache le modifiche agli oggetti nel contesto dell'oggetto.Quando viene richiesto in modo esplicito, tramite Object Services le modifiche vengono salvate di nuovo nell'origine dati.Per ulteriori informazioni, vedere Salvataggio delle modifiche e gestione della concorrenza (Entity Framework).

Associazione degli oggetti ai controlli

Object Services consente di associare gli oggetti ai controlli che supportano l'associazione dati, ad esempio il controllo DataGridView.Per ulteriori informazioni, vedere Associazione di oggetti ai controlli (Entity Framework).

Connessione degli oggetti

Object Services consente di connettere gli oggetti esistenti direttamente a un contesto dell'oggetto.In questo modo, è possibile connettere gli oggetti archiviati nello stato di visualizzazione di un'applicazione ASP.NET o restituiti da una chiamata al metodo remota o da un servizio Web.Per ulteriori informazioni, vedere Connessione e disconnessione di oggetti (Entity Framework).

Disconnessione degli oggetti

Potrebbe essere necessario rendere persistente un'istanza del contesto dell'oggetto per la durata dell'esecuzione dell'applicazione, ad esempio quando gli oggetti sono associati ai controlli Windows Form.Object Services consente di gestire la dimensione del contesto dell'oggetto disconnettendo gli oggetti per rilasciare le risorse quando non sono più necessari.Per ulteriori informazioni, vedere Connessione e disconnessione di oggetti (Entity Framework).

Serializzazione degli oggetti

In Object Services sono supportate la serializzazione del contratto dati WCF (Windows Communication Foundation), la serializzazione binaria e la serializzazione XML per gli oggetti.La serializzazione del contratto dati è utile negli scenari che prevedono servizi Web.La serializzazione binaria è particolarmente utile in caso di utilizzo dello stato di visualizzazione per rendere persistenti gli oggetti in un'applicazione ASP.NET.Per ulteriori informazioni, vedere Serializzazione di oggetti (Entity Framework).

Gestione delle identità degli oggetti e rilevamento delle modifiche

In Object Services vengono utilizzati i valori Identity per rilevare le modifiche agli oggetti, gestire i conflitti e stabilire quando recuperare i dati dall'origine dati.Per ulteriori informazioni, vedere Risoluzione di identità, gestione dello stato e rilevamento delle modifiche (Entity Framework).

Gestione della concorrenza

Object Services consente di rilevare la concorrenza quando l'attributo ConcurrencyMode per una o più proprietà viene impostato su "fixed". In questo caso, tramite Object Services verranno generate eccezioni specifiche quando vengono rilevate violazioni di concorrenza.Per ulteriori informazioni, vedere Salvataggio delle modifiche e gestione della concorrenza (Entity Framework).

Gestione delle connessioni

Object Services consente di gestire in modo esplicito la connessione utilizzata da un contesto dell'oggetto, nonché di fornire una connessione personalizzata per il contesto dell'oggetto.Per ulteriori informazioni, vedere Gestione di connessioni e transazioni (Entity Framework).

Gestione delle transazioni

In Object Services sono supportate le transazioni di .NET Framework per coordinare le operazioni nell'origine dati e per l'inserimento nelle transazioni distribuite.Per ulteriori informazioni, vedere Gestione di connessioni e transazioni (Entity Framework).

Utilizzo di oggetti personalizzati con un modello concettuale

Object Services consente di definire manualmente dei propri oggetti personalizzati o di utilizzare oggetti esistenti con un modello concettuale.Per ulteriori informazioni, vedere Personalizzazione di oggetti (Entity Framework).

Vedere anche

Concetti

Panoramica di Entity Framework

Altre risorse

Utilizzo di oggetti (Entity Framework)