Compartilhar via


ObjectContext Classe

Definição

Fornece recursos para consultar e trabalhar com os dados de entidade como objetos.

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 mostra como construir um 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);

Comentários

Observação

A classe ObjectContext não é segura para threads. A integridade de objetos de dados em um ObjectContext não pode ser assegurada em cenários multithread.

A ObjectContext classe é a classe primária para interagir com dados como objetos que são instâncias de tipos de entidade definidas em um modelo conceitual. Uma instância da ObjectContext classe encapsula o seguinte:

Quando a camada de objeto que representa um modelo conceitual é gerada pelas ferramentas do Modelo de Dados de Entidade, a classe que representa o EntityContainer para o modelo é derivada do ObjectContext.

Construtores

ObjectContext(EntityConnection)

Inicializa uma nova instância da classe ObjectContext com a conexão determinada. Durante a construção, o workspace de metadados é extraído do objeto EntityConnection.

ObjectContext(EntityConnection, String)

Inicializa uma nova instância da classe ObjectContext com uma conexão e o nome do contêiner de entidade determinados.

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.

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.

Propriedades

CommandTimeout

Obtém ou define o valor de tempo limite, em segundos, para todas as operações de contexto de objeto. Um valor null indica que o valor padrão do provedor subjacente será usado.

Connection

Obtém a conexão usada pelo contexto de objeto.

ContextOptions

Obtém a instância do ObjectContextOptions que contém as opções que afetam o comportamento do ObjectContext.

DefaultContainerName

Obtém ou define o nome do contêiner padrão.

MetadataWorkspace

Obtém o workspace de metadados usado pelo contexto de objeto.

ObjectStateManager

Obtém o gerenciador de estado do objeto usado pelo contexto de objeto para controlar as alterações de objeto.

QueryProvider

Obtém o provedor de consulta de LINQ associado a este contexto de objeto.

Métodos

AcceptAllChanges()

Aceita todas as alterações feitas aos objetos no contexto de objeto.

AddObject(String, Object)

Adiciona um objeto ao contexto de objeto.

ApplyCurrentValues<TEntity>(String, TEntity)

Copia os valores escalares do objeto fornecido para o objeto no ObjectContext que tem a mesma chave.

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.

ApplyPropertyChanges(String, Object)
Obsoleto.

Aplica alterações de propriedade de um objeto desanexado a um objeto que já está anexado ao contexto de objeto.

Attach(IEntityWithKey)

Anexa um objeto ou um grafo de objeto ao contexto de objeto quando o objeto tem uma chave de entidade.

AttachTo(String, Object)

Anexa um objeto ou um grafo de objeto ao contexto de objeto em um conjunto de entidades específico.

CreateDatabase()

Cria o banco de dados usando a conexão de fonte de dados atual e os metadados no 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. O StoreItemCollection carrega os metadados de arquivos SSDL (linguagem de definição de esquema de repositório).

CreateEntityKey(String, Object)

Cria a chave da entidade para um objeto específico ou retorna a chave da entidade se ela já existe.

CreateObject<T>()

Cria e retorna uma instância do tipo solicitado.

CreateObjectSet<TEntity>()

Cria uma nova instância de ObjectSet<TEntity> que é usada para consultar, adicionar, modificar e excluir objetos do tipo de entidade especificado.

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.

CreateProxyTypes(IEnumerable<Type>)

Gera um tipo equivalente que pode ser usado com o Entity Framework para cada tipo na enumeração fornecida.

CreateQuery<T>(String, ObjectParameter[])

Cria um ObjectQuery<T> no contexto de objeto atual usando a cadeia de caracteres de consulta especificada.

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.

DeleteDatabase()

Exclui o banco de dados especificado como o banco de dados na conexão de fonte de dados atual.

DeleteObject(Object)

Marca um objeto para exclusão.

Detach(Object)

Remove o objeto de contexto de objeto.

DetectChanges()

Garante que as alterações de ObjectStateEntry sejam sincronizadas com as alterações em todos os objetos controlados pelo ObjectStateManager.

Dispose()

Libera os recursos usados pelo contexto de objeto.

Dispose(Boolean)

Libera os recursos usados pelo contexto de objeto.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(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.

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. Retorna um ObjectResult<T> tipado.

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. Retorna um ObjectResult<T> tipado.

ExecuteStoreCommand(String, Object[])

Executa um comando arbitrário diretamente na fonte de dados usando a conexão existente.

ExecuteStoreQuery<TElement>(String, Object[])

Executa uma consulta diretamente na fonte de dados que retorna uma sequência de resultados digitados.

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

Executa uma consulta diretamente na fonte de dados e retorna uma sequência de resultados digitados. Especifique o conjunto de entidades e a opção de mesclagem para que os resultados da consulta possam ser controlados como entidades.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetKnownProxyTypes()

Retorna todos os tipos de proxy existentes.

GetObjectByKey(EntityKey)

Retorna um objeto que tem a chave de entidade especificada.

GetObjectType(Type)

Retorna o tipo de entidade da entidade POCO associada a um objeto proxy de um tipo especificado.

GetType()

Obtém o Type da instância atual.

(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.

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.

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.

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.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Refresh(RefreshMode, IEnumerable)

Atualiza uma coleção de objetos no contexto de objeto com os dados da fonte de dados.

Refresh(RefreshMode, Object)

Atualiza um objeto no contexto de objeto com os dados da fonte de dados.

SaveChanges()

Persiste todas as atualizações na fonte de dados e redefine o controle de alterações no contexto de objeto.

SaveChanges(Boolean)
Obsoleto.

Persiste todas as atualizações na fonte de dados e, opcionalmente, redefine o controle de alterações no contexto de objeto.

SaveChanges(SaveOptions)

Persiste todas as atualizações para a fonte de dados com o SaveOptions especificado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Converte um DbDataReader que contém linhas de dados de entidade em objetos do tipo de entidade solicitado.

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.

TryGetObjectByKey(EntityKey, Object)

Retorna um objeto que tem a chave de entidade especificada.

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.

SavingChanges

Ocorre quando as alterações são salvas na fonte de dados.

Aplica-se a

Confira também