ObjectContext Classe

Definição

Fornece recursos para consultar e trabalhar com os dados de entidade como objetos.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
Herança
ObjectContext
Implementações

Exemplos

Este exemplo é baseado no Microsoft SQL Server exemplos de produto: banco de dados.This example is based on the Microsoft SQL Server Product Samples: Database. O exemplo mostra como construir um 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

Comentários

Observação

A classe ObjectContext não é thread safe.The ObjectContext class is not thread safe. A integridade dos objetos de dados em uma ObjectContext não pode ser garantida em cenários multi-threaded.The integrity of data objects in an ObjectContext cannot be ensured in multithreaded scenarios.

A classe ObjectContext é a classe primária para interagir com dados como objetos que são instâncias de tipos de entidade que são definidos em um modelo conceitual.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. Uma instância da classe ObjectContext encapsula o seguinte:An instance of the ObjectContext class encapsulates the following:

Quando a camada de objeto que representa um modelo conceitual é gerada pelas ferramentas de Modelo de Dados de Entidade, a classe que representa os EntityContainer para o modelo é derivada da ObjectContext.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.

Construtores

ObjectContext(EntityConnection)

Inicializa uma nova instância da classe ObjectContext com a conexão determinada.Initializes a new instance of the ObjectContext class with the given connection. Durante a construção, o workspace de metadados é extraído do objeto EntityConnection.During construction, the metadata workspace is extracted from the EntityConnection object.

ObjectContext(EntityConnection, String)

Inicializa uma nova instância da classe ObjectContext com uma conexão e o nome do contêiner de entidade determinados.Initializes a new instance of the ObjectContext class with a given connection and entity container name.

ObjectContext(String)

Inicializa uma nova instância da classe ObjectContext com a cadeia de conexão e o nome do contêiner de entidade padrão determinados.Initializes a new instance of the ObjectContext class with the given connection string and default entity container name.

ObjectContext(String, String)

Inicializa uma nova instância da classe ObjectContext com a cadeia de conexão e o nome do contêiner de entidade determinados.Initializes a new instance of the ObjectContext class with a given connection string and entity container name.

Propriedades

CommandTimeout

Obtém ou define o valor de tempo limite, em segundos, para todas as operações de contexto de objeto.Gets or sets the timeout value, in seconds, for all object context operations. Um valor null indica que o valor padrão do provedor subjacente será usado.A null value indicates that the default value of the underlying provider will be used.

Connection

Obtém a conexão usada pelo contexto de objeto.Gets the connection used by the object context.

ContextOptions

Obtém a instância do ObjectContextOptions que contém as opções que afetam o comportamento do ObjectContext.Gets the ObjectContextOptions instance that contains options that affect the behavior of the ObjectContext.

DefaultContainerName

Obtém ou define o nome do contêiner padrão.Gets or sets the default container name.

MetadataWorkspace

Obtém o workspace de metadados usado pelo contexto de objeto.Gets the metadata workspace used by the object context.

ObjectStateManager

Obtém o gerenciador de estado do objeto usado pelo contexto de objeto para controlar as alterações de objeto.Gets the object state manager used by the object context to track object changes.

QueryProvider

Obtém o provedor de consulta de LINQ associado a este contexto de objeto.Gets the LINQ query provider associated with this object context.

Métodos

AcceptAllChanges()

Aceita todas as alterações feitas aos objetos no contexto de objeto.Accepts all changes made to objects in the object context.

AddObject(String, Object)

Adiciona um objeto ao contexto de objeto.Adds an object to the object context.

ApplyCurrentValues<TEntity>(String, TEntity)

Copia os valores escalares do objeto fornecido para o objeto no ObjectContext que tem a mesma chave.Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.

ApplyOriginalValues<TEntity>(String, TEntity)

Copia os valores escalares do objeto fornecido para um conjunto de valores originais para o objeto no ObjectContext que tem a mesma chave.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)

Aplica alterações de propriedade de um objeto desanexado a um objeto que já está anexado ao contexto de objeto.Applies property changes from a detached object to an object already attached to the object context.

Attach(IEntityWithKey)

Anexa um objeto ou um grafo de objeto ao contexto de objeto quando o objeto tem uma chave de entidade.Attaches an object or object graph to the object context when the object has an entity key.

AttachTo(String, Object)

Anexa um objeto ou um grafo de objeto ao contexto de objeto em um conjunto de entidades específico.Attaches an object or object graph to the object context in a specific entity set.

CreateDatabase()

Cria o banco de dados usando a conexão de fonte de dados atual e os metadados no StoreItemCollection.Creates the database by using the current data source connection and the metadata in the StoreItemCollection.

CreateDatabaseScript()

Gera um script de DDL (linguagem de definição de dados) que cria objetos de esquema (tabelas, chaves primárias, chaves estrangeiras) para os metadados no StoreItemCollection.Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. O StoreItemCollection carrega os metadados de arquivos SSDL (linguagem de definição de esquema de repositório).The StoreItemCollection loads metadata from store schema definition language (SSDL) files.

CreateEntityKey(String, Object)

Cria a chave da entidade para um objeto específico ou retorna a chave da entidade se ela já existe.Creates the entity key for a specific object, or returns the entity key if it already exists.

CreateObject<T>()

Cria e retorna uma instância do tipo solicitado.Creates and returns an instance of the requested type .

CreateObjectSet<TEntity>()

Cria uma nova instância de ObjectSet<TEntity> que é usada para consultar, adicionar, modificar e excluir objetos do tipo de entidade especificado.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified entity type.

CreateObjectSet<TEntity>(String)

Cria uma nova instância ObjectSet<TEntity> que é usada para consultar, adicionar, modificar e excluir objetos do tipo especificado e com o nome do conjunto de entidades especificado.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>)

Gera um tipo equivalente que pode ser usado com o Entity Framework para cada tipo na enumeração fornecida.Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.

CreateQuery<T>(String, ObjectParameter[])

Cria um ObjectQuery<T> no contexto de objeto atual usando a cadeia de caracteres de consulta especificada.Creates an ObjectQuery<T> in the current object context by using the specified query string.

DatabaseExists()

Verifica se o banco de dados especificado como o banco de dados na conexão de fonte de dados atual existe na fonte de dados.Checks if the database that is specified as the database in the current data source connection exists on the data source.

DeleteDatabase()

Exclui o banco de dados especificado como o banco de dados na conexão de fonte de dados atual.Deletes the database that is specified as the database in the current data source connection.

DeleteObject(Object)

Marca um objeto para exclusão.Marks an object for deletion.

Detach(Object)

Remove o objeto de contexto de objeto.Removes the object from the object context.

DetectChanges()

Garante que as alterações de ObjectStateEntry sejam sincronizadas com as alterações em todos os objetos controlados pelo ObjectStateManager.Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.

Dispose()

Libera os recursos usados pelo contexto de objeto.Releases the resources used by the object context.

Dispose(Boolean)

Libera os recursos usados pelo contexto de objeto.Releases the resources used by the object context.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
ExecuteFunction(String, ObjectParameter[])

Executa um procedimento armazenado ou uma função definida na fonte de dados e expressa no modelo conceitual, descarta os resultados retornados da função e retorna o número de linhas afetado pela execução.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[])

Executa uma função ou procedimento armazenado determinados, definidos na fonte de dados e expressos no modelo conceitual com os parâmetros especificados e opção de mesclagem.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. Retorna um ObjectResult<T> tipado.Returns a typed ObjectResult<T>.

ExecuteFunction<TElement>(String, ObjectParameter[])

Executa uma função ou procedimento armazenado definido na fonte de dados e mapeado no modelo conceitual, com os parâmetros especificados.Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Retorna um ObjectResult<T> tipado.Returns a typed ObjectResult<T>.

ExecuteStoreCommand(String, Object[])

Executa um comando arbitrário diretamente na fonte de dados usando a conexão existente.Executes an arbitrary command directly against the data source using the existing connection.

ExecuteStoreQuery<TElement>(String, Object[])

Executa uma consulta diretamente na fonte de dados que retorna uma sequência de resultados digitados.Executes a query directly against the data source that returns a sequence of typed results.

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

Executa uma consulta diretamente na fonte de dados e retorna uma sequência de resultados digitados.Executes a query directly against the data source and returns a sequence of typed results. Especifique o conjunto de entidades e a opção de mesclagem para que os resultados da consulta possam ser controlados como entidades.Specify the entity set and the merge option so that query results can be tracked as entities.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetKnownProxyTypes()

Retorna todos os tipos de proxy existentes.Returns all the existing proxy types.

GetObjectByKey(EntityKey)

Retorna um objeto que tem a chave de entidade especificada.Returns an object that has the specified entity key.

GetObjectType(Type)

Retorna o tipo de entidade da entidade POCO associada a um objeto proxy de um tipo especificado.Returns the entity type of the POCO entity associated with a proxy object of a specified type.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
LoadProperty(Object, String)

Carrega explicitamente um objeto relacionado ao objeto fornecido pela propriedade de navegação especificada e usando a opção de mesclagem padrão.Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option.

LoadProperty(Object, String, MergeOption)

Carrega explicitamente um objeto relacionado ao objeto fornecido pela propriedade de navegação especificada e usando a opção de mesclagem especificada.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>>)

Carrega explicitamente um objeto relacionado ao objeto fornecido pela consulta de LINQ especificada e usando a opção de mesclagem padrão.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)

Carrega explicitamente um objeto relacionado ao objeto fornecido pela consulta de LINQ especificada e usando a opção de mesclagem especificada.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
Refresh(RefreshMode, IEnumerable)

Atualiza uma coleção de objetos no contexto de objeto com os dados da fonte de dados.Updates a collection of objects in the object context with data from the data source.

Refresh(RefreshMode, Object)

Atualiza um objeto no contexto de objeto com os dados da fonte de dados.Updates an object in the object context with data from the data source.

SaveChanges()

Persiste todas as atualizações na fonte de dados e redefine o controle de alterações no contexto de objeto.Persists all updates to the data source and resets change tracking in the object context.

SaveChanges(Boolean)

Persiste todas as atualizações na fonte de dados e, opcionalmente, redefine o controle de alterações no contexto de objeto.Persists all updates to the data source and optionally resets change tracking in the object context.

SaveChanges(SaveOptions)

Persiste todas as atualizações para a fonte de dados com o SaveOptions especificado.Persists all updates to the data source with the specified SaveOptions.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
Translate<TElement>(DbDataReader)

Converte um DbDataReader que contém linhas de dados de entidade em objetos do tipo de entidade solicitado.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type.

Translate<TEntity>(DbDataReader, String, MergeOption)

Converte um DbDataReader que contém linhas de dados de entidade em objetos do tipo de entidade solicitada, em um conjunto de entidades específicas e com a opção de mesclagem especificada.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)

Retorna um objeto que tem a chave de entidade especificada.Returns an object that has the specified entity key.

Eventos

ObjectMaterialized

Ocorre quando um novo objeto de entidade é criado com base na fonte de dados como parte de uma operação de consulta ou carga.Occurs when a new entity object is created from data in the data source as part of a query or load operation.

SavingChanges

Ocorre quando as alterações são salvas na fonte de dados.Occurs when changes are saved to the data source.

Aplica-se a

Veja também