ObjectContext Classe

Definizione

Fornisce funzionalità per l'esecuzione di query e l'utilizzo di dati di entità come oggetti.Provides facilities for querying and working with entity data as objects.

public ref class ObjectContext : IDisposable
public class ObjectContext : IDisposable
type ObjectContext = class
    interface IDisposable
Public Class ObjectContext
Implements IDisposable
Ereditarietà
ObjectContext
Implementazioni

Esempi

Questo esempio è basato sul modello Sales di AdventureWorks.This example is based on the AdventureWorks Sales Model. Nell'esempio viene illustrato come costruire un oggetto ObjectContext.The example shows you how to construct an ObjectContext.

// Create the ObjectContext.
ObjectContext context =
    new ObjectContext("name=AdventureWorksEntities");

// Set the DefaultContainerName for the ObjectContext.
// When DefaultContainerName is set, the Entity Framework only
// searches for the type in the specified container. 
// Note that if a type is defined only once in the metadata workspace
// you do not have to set the DefaultContainerName.
context.DefaultContainerName = "AdventureWorksEntities";

ObjectSet<Product> query = context.CreateObjectSet<Product>();

// Iterate through the collection of Products.
foreach (Product result in query)
    Console.WriteLine("Product Name: {0}", result.Name);
' Create the ObjectContext. 
Dim context As New ObjectContext("name=AdventureWorksEntities")

' Set the DefaultContainerName for the ObjectContext.
' When DefaultContainerName is set, the Entity Framework only
' searches for the type in the specified container. 
' Note that if a type is defined only once in the metadata workspace
' you do not have to set the DefaultContainerName.
context.DefaultContainerName = "AdventureWorksEntities"

Dim query As ObjectSet(Of Product) = context.CreateObjectSet(Of Product)()

' Iterate through the collection of Products. 
For Each result As Product In query
    Console.WriteLine("Product Name: {0}", result.Name)
Next

Commenti

Nota

La classe ObjectContext non è thread-safe.The ObjectContext class is not thread safe. L'integrità degli oggetti dati in un ObjectContext oggetto non può essere garantita in scenari con multithreading.The integrity of data objects in an ObjectContext cannot be ensured in multithreaded scenarios.

La ObjectContext classe è la classe primaria per l'interazione con i dati come oggetti che sono istanze di tipi di entità definiti in un modello concettuale.The ObjectContext class is the primary class for interacting with data as objects that are instances of entity types that are defined in a conceptual model. Un'istanza della classe ObjectContext incapsula gli elementi seguenti:An instance of the ObjectContext class encapsulates the following:

Quando il livello oggetto che rappresenta un modello concettuale viene generato dagli strumenti di Entity Data Model, la classe che rappresenta EntityContainer l'oggetto per il modello è derivata ObjectContextda.When the object layer that represents a conceptual model is generated by the Entity Data Model tools, the class that represents the EntityContainer for the model is derived from the ObjectContext.

Costruttori

ObjectContext(EntityConnection)

Inizializza una nuova istanza della classe ObjectContext con la connessione specificata.Initializes a new instance of the ObjectContext class with the given connection. Durante la costruzione, l'area di lavoro metadati viene estratta dall'oggetto EntityConnection.During construction, the metadata workspace is extracted from the EntityConnection object.

ObjectContext(EntityConnection, String)

Inizializza una nuova istanza della classe ObjectContext con la connessione e il nome del contenitore di entità specificati.Initializes a new instance of the ObjectContext class with a given connection and entity container name.

ObjectContext(String)

Inizializza una nuova istanza della classe ObjectContext con la stringa di connessione e il nome del contenitore di entità predefinito specificati.Initializes a new instance of the ObjectContext class with the given connection string and default entity container name.

ObjectContext(String, String)

Inizializza una nuova istanza della classe ObjectContext con la stringa di connessione e il nome del contenitore di entità specificati.Initializes a new instance of the ObjectContext class with a given connection string and entity container name.

Proprietà

CommandTimeout

Ottiene o imposta il valore di timeout, espresso in secondi, per tutte le operazioni relative al contesto dell'oggetto.Gets or sets the timeout value, in seconds, for all object context operations. Il valore null indica che verrà utilizzato il valore predefinito del provider sottostante.A null value indicates that the default value of the underlying provider will be used.

Connection

Ottiene la connessione utilizzata dal contesto dell'oggetto.Gets the connection used by the object context.

ContextOptions

Ottiene l'istanza di ObjectContextOptions che contiene le opzioni che influiscono sul comportamento di ObjectContext.Gets the ObjectContextOptions instance that contains options that affect the behavior of the ObjectContext.

DefaultContainerName

Ottiene o imposta il nome del contenitore predefinito.Gets or sets the default container name.

MetadataWorkspace

Ottiene l'area di lavoro metadati utilizzata dal contesto dell'oggetto.Gets the metadata workspace used by the object context.

ObjectStateManager

Ottiene la gestione degli stati dell'oggetto utilizzata dal contesto dell'oggetto per rilevare le modifiche dell'oggetto.Gets the object state manager used by the object context to track object changes.

QueryProvider

Ottiene il provider della query LINQ associato a questo contesto dell'oggetto.Gets the LINQ query provider associated with this object context.

Metodi

AcceptAllChanges()

Accetta tutte le modifiche apportate agli oggetti nel contesto dell'oggetto.Accepts all changes made to objects in the object context.

AddObject(String, Object)

Aggiunge un oggetto al contesto dell'oggetto.Adds an object to the object context.

ApplyCurrentValues<TEntity>(String, TEntity)

Copia i valori scalari dall'oggetto fornito nell'oggetto in ObjectContext che dispone della stessa chiave.Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.

ApplyOriginalValues<TEntity>(String, TEntity)

Copia i valori scalari dall'oggetto fornito nel set di valori originali per l'oggetto in ObjectContext che dispone della stessa chiave.Copies the scalar values from the supplied object into set of original values for the object in the ObjectContext that has the same key.

ApplyPropertyChanges(String, Object)

Applica le modifiche delle proprietà da un oggetto disconnesso a un oggetto già connesso al contesto dell'oggetto.Applies property changes from a detached object to an object already attached to the object context.

Attach(IEntityWithKey)

Connette un oggetto o un oggetto grafico al contesto dell'oggetto quando l'oggetto contiene una chiave di entità.Attaches an object or object graph to the object context when the object has an entity key.

AttachTo(String, Object)

Connette un oggetto o un oggetto grafico al contesto dell'oggetto in un set di entità specifico.Attaches an object or object graph to the object context in a specific entity set.

CreateDatabase()

Crea il database utilizzando la connessione all'origine dati corrente e i metadati in StoreItemCollection.Creates the database by using the current data source connection and the metadata in the StoreItemCollection.

CreateDatabaseScript()

Genera uno script Data Definition Language (DDL) che crea oggetti dello schema (tabelle, chiavi primarie, chiavi esterne) per i metadati in StoreItemCollection.Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. StoreItemCollection carica metadati dai file SSDL (Store Schema Definition Language).The StoreItemCollection loads metadata from store schema definition language (SSDL) files.

CreateEntityKey(String, Object)

Crea la chiave di entità per un oggetto specifico o restituisce la chiave di entità se esiste già.Creates the entity key for a specific object, or returns the entity key if it already exists.

CreateObject<T>()

Crea e restituisce un'istanza del tipo richiesto.Creates and returns an instance of the requested type .

CreateObjectSet<TEntity>()

Crea una nuova istanza di ObjectSet<TEntity> utilizzata per eseguire query su oggetti dell'entità specificata, aggiungere tali oggetti, modificarli ed eliminarli.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified entity type.

CreateObjectSet<TEntity>(String)

Crea una nuova istanza di ObjectSet<TEntity> utilizzata per eseguire query su oggetti del tipo specificato e con il nome del set di entità specificato, aggiungere tali oggetti, modificarli ed eliminarli.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name.

CreateProxyTypes(IEnumerable<Type>)

Genera un tipo equivalente che può essere utilizzato con Entity Framework per ogni tipo nell'enumerazione fornita.Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.

CreateQuery<T>(String, ObjectParameter[])

Crea un oggetto ObjectQuery<T> nel contesto dell'oggetto corrente utilizzando la stringa di query specificata.Creates an ObjectQuery<T> in the current object context by using the specified query string.

DatabaseExists()

Controlla se il database specificato come database nella connessione all'origine dati corrente esiste nell'origine dati.Checks if the database that is specified as the database in the current data source connection exists on the data source.

DeleteDatabase()

Elimina il database specificato come database nella connessione all'origine dati corrente.Deletes the database that is specified as the database in the current data source connection.

DeleteObject(Object)

Contrassegna un oggetto per l'eliminazione.Marks an object for deletion.

Detach(Object)

Rimuove l'oggetto dal contesto dell'oggetto.Removes the object from the object context.

DetectChanges()

Assicura che le modifiche di ObjectStateEntry siano sincronizzate con le modifiche in tutti gli oggetti di cui tiene traccia ObjectStateManager.Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.

Dispose()

Rilascia le risorse utilizzate dal contesto dell'oggetto.Releases the resources used by the object context.

Dispose(Boolean)

Rilascia le risorse utilizzate dal contesto dell'oggetto.Releases the resources used by the object context.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
ExecuteFunction(String, ObjectParameter[])

Esegue una stored procedure o una funzione definita nell'origine dati ed espressa nel modello concettuale, rimuove qualsiasi risultato restituito dalla funzione e restituisce il numero di righe interessate dall'esecuzione.Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution.

ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[])

Esegue la stored procedure o la funzione specificata, definita nell'origine dati ed espressa nel modello concettuale, con i parametri specificati e l'opzione di unione.Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Restituisce un oggetto ObjectResult<T> tipizzato.Returns a typed ObjectResult<T>.

ExecuteFunction<TElement>(String, ObjectParameter[])

Esegue una stored procedure o una funzione definita nell'origine dati e mappata nel modello concettuale, con i parametri specificati.Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Restituisce un oggetto ObjectResult<T> tipizzato.Returns a typed ObjectResult<T>.

ExecuteStoreCommand(String, Object[])

Esegue un comando arbitrario direttamente sull'origine dati utilizzando la connessione esistente.Executes an arbitrary command directly against the data source using the existing connection.

ExecuteStoreQuery<TElement>(String, Object[])

Esegue una query direttamente sull'origine dati che restituisce una sequenza di risultati tipizzati.Executes a query directly against the data source that returns a sequence of typed results.

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

Esegue una query direttamente sull'origine dati e restituisce una sequenza di risultati tipizzati.Executes a query directly against the data source and returns a sequence of typed results. Specificare il set di entità e l'opzione di unione in modo da poter rilevare i risultati della query come entità.Specify the entity set and the merge option so that query results can be tracked as entities.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetKnownProxyTypes()

Restituisce tutti i tipi di proxy esistenti.Returns all the existing proxy types.

GetObjectByKey(EntityKey)

Restituisce un oggetto contenente la chiave di entità specificata.Returns an object that has the specified entity key.

GetObjectType(Type)

Restituisce il tipo di entità dell'entità POCO associata a un oggetto proxy di un tipo specificato.Returns the entity type of the POCO entity associated with a proxy object of a specified type.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
LoadProperty(Object, String)

Carica in modo esplicito un oggetto correlato all'oggetto fornito in base alla proprietà di navigazione specificata e utilizzando l'opzione di unione predefinita.Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option.

LoadProperty(Object, String, MergeOption)

Carica in modo esplicito un oggetto correlato all'oggetto fornito in base alla proprietà di navigazione specificata e utilizzando l'opzione di unione specificata.Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option.

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>)

Carica in modo esplicito un oggetto correlato all'oggetto fornito in base alla query LINQ specificata e utilizzando l'opzione di unione predefinita.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option.

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption)

Carica in modo esplicito un oggetto correlato all'oggetto fornito in base alla query LINQ specificata e utilizzando l'opzione di unione specificata.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
Refresh(RefreshMode, IEnumerable)

Aggiorna un insieme di oggetti nel contesto dell'oggetto con i dati presenti nell'origine dati.Updates a collection of objects in the object context with data from the data source.

Refresh(RefreshMode, Object)

Aggiorna un oggetto nel contesto dell'oggetto con i dati presenti nell'origine dati.Updates an object in the object context with data from the data source.

SaveChanges()

Rende persistenti tutti gli aggiornamenti all'origine dati e reimposta il rilevamento delle modifiche nel contesto dell'oggetto.Persists all updates to the data source and resets change tracking in the object context.

SaveChanges(Boolean)

Rende persistenti tutti gli aggiornamenti all'origine dati e reimposta facoltativamente il rilevamento delle modifiche nel contesto dell'oggetto.Persists all updates to the data source and optionally resets change tracking in the object context.

SaveChanges(SaveOptions)

Rende persistenti tutti gli aggiornamenti all'origine dati con l'oggetto SaveOptions specificato.Persists all updates to the data source with the specified SaveOptions.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
Translate<TElement>(DbDataReader)

Converte un oggetto DbDataReader che contiene righe di dati di entità in oggetti del tipo di entità richiesto.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type.

Translate<TEntity>(DbDataReader, String, MergeOption)

Converte un oggetto DbDataReader che contiene righe di dati di entità in oggetti del tipo di entità richiesto, in un set di entità specifico e con l'opzione di unione specificata.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option.

TryGetObjectByKey(EntityKey, Object)

Restituisce un oggetto contenente la chiave di entità specificata.Returns an object that has the specified entity key.

Eventi

ObjectMaterialized

Si verifica quando un nuovo oggetto entità viene creato dai dati nell'origine dati come parte di una query o di un'operazione di caricamento.Occurs when a new entity object is created from data in the data source as part of a query or load operation.

SavingChanges

Si verifica quando le modifiche vengono salvate nell'origine dati.Occurs when changes are saved to the data source.

Si applica a

Vedi anche