ObjectContext ObjectContext ObjectContext ObjectContext Class

Definición

Proporciona funciones para consultar y trabajar con datos de entidad 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
Herencia
ObjectContextObjectContextObjectContextObjectContext
Implementaciones

Ejemplos

Este ejemplo se basa en el modelo AdventureWorks Sales.This example is based on the AdventureWorks Sales Model. En el ejemplo se muestra cómo construir un 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

Comentarios

Nota

La clase ObjectContext no es segura para la ejecución de subprocesos.The ObjectContext class is not thread safe. La integridad de los objetos de datos ObjectContext en no se puede garantizar en escenarios multiproceso.The integrity of data objects in an ObjectContext cannot be ensured in multithreaded scenarios.

La ObjectContext clase es la clase principal para interactuar con los datos como objetos que son instancias de tipos de entidad que se definen en un modelo conceptual.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. Una instancia de la clase ObjectContext encapsula lo siguiente:An instance of the ObjectContext class encapsulates the following:

Cuando el nivel de objeto que representa un modelo conceptual se genera mediante las herramientas de Entity Data Model, la clase que EntityContainer representa el para el modelo se deriva ObjectContextde.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.

Constructores

ObjectContext(EntityConnection) ObjectContext(EntityConnection) ObjectContext(EntityConnection) ObjectContext(EntityConnection)

Inicializa una nueva instancia de la clase ObjectContext con la conexión especificada.Initializes a new instance of the ObjectContext class with the given connection. Durante la construcción, el área de trabajo de metadatos se extrae del objeto EntityConnection.During construction, the metadata workspace is extracted from the EntityConnection object.

ObjectContext(EntityConnection, String) ObjectContext(EntityConnection, String) ObjectContext(EntityConnection, String) ObjectContext(EntityConnection, String)

Inicializa una nueva instancia de la clase ObjectContext con la conexión y el nombre de contenedor de entidades especificados.Initializes a new instance of the ObjectContext class with a given connection and entity container name.

ObjectContext(String) ObjectContext(String) ObjectContext(String) ObjectContext(String)

Inicializa una nueva instancia de la clase ObjectContext con la cadena de conexión especificada y el nombre del contenedor de entidades predeterminado.Initializes a new instance of the ObjectContext class with the given connection string and default entity container name.

ObjectContext(String, String) ObjectContext(String, String) ObjectContext(String, String) ObjectContext(String, String)

Inicializa una nueva instancia de la clase ObjectContext con la cadena de conexión y el nombre de contenedor de entidades especificados.Initializes a new instance of the ObjectContext class with a given connection string and entity container name.

Propiedades

CommandTimeout CommandTimeout CommandTimeout CommandTimeout

Obtiene o establece el valor de tiempo de espera, en segundos, para todas las operaciones del contexto del objeto.Gets or sets the timeout value, in seconds, for all object context operations. El valor null indica que se usará el valor predeterminado del proveedor subyacente.A null value indicates that the default value of the underlying provider will be used.

Connection Connection Connection Connection

Obtiene la conexión usada por el contexto del objeto.Gets the connection used by the object context.

ContextOptions ContextOptions ContextOptions ContextOptions

Obtiene la instancia de ObjectContextOptions que contiene opciones que afectan al comportamiento de ObjectContext.Gets the ObjectContextOptions instance that contains options that affect the behavior of the ObjectContext.

DefaultContainerName DefaultContainerName DefaultContainerName DefaultContainerName

Obtiene o establece el nombre del contenedor predeterminado.Gets or sets the default container name.

MetadataWorkspace MetadataWorkspace MetadataWorkspace MetadataWorkspace

Obtiene el área de trabajo de metadatos usada por el contexto del objeto.Gets the metadata workspace used by the object context.

ObjectStateManager ObjectStateManager ObjectStateManager ObjectStateManager

Obtiene el administrador de estados de objetos usado por el contexto del objeto para realizar el seguimiento de los cambios en los objetos.Gets the object state manager used by the object context to track object changes.

QueryProvider QueryProvider QueryProvider QueryProvider

Obtiene el proveedor de consultas LINQ asociado a este contexto del objeto.Gets the LINQ query provider associated with this object context.

Métodos

AcceptAllChanges() AcceptAllChanges() AcceptAllChanges() AcceptAllChanges()

Acepta todos los cambios realizados en los objetos del contexto del objeto.Accepts all changes made to objects in the object context.

AddObject(String, Object) AddObject(String, Object) AddObject(String, Object) AddObject(String, Object)

Agrega un objeto al contexto del objeto.Adds an object to the object context.

ApplyCurrentValues<TEntity>(String, TEntity) ApplyCurrentValues<TEntity>(String, TEntity) ApplyCurrentValues<TEntity>(String, TEntity) ApplyCurrentValues<TEntity>(String, TEntity)

Copia los valores escalares del objeto proporcionado al objeto de ObjectContext que tiene la misma clave.Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.

ApplyOriginalValues<TEntity>(String, TEntity) ApplyOriginalValues<TEntity>(String, TEntity) ApplyOriginalValues<TEntity>(String, TEntity) ApplyOriginalValues<TEntity>(String, TEntity)

Copia los valores escalares del objeto proporcionado al conjunto de valores originales para el objeto de ObjectContext que tiene la misma clave.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) ApplyPropertyChanges(String, Object) ApplyPropertyChanges(String, Object) ApplyPropertyChanges(String, Object)

Aplica los cambios de propiedades de un objeto desasociado a un objeto ya adjunto al contexto del objeto.Applies property changes from a detached object to an object already attached to the object context.

Attach(IEntityWithKey) Attach(IEntityWithKey) Attach(IEntityWithKey) Attach(IEntityWithKey)

Asocia un objeto o un gráfico de objetos al contexto del objeto cuando el objeto tiene una clave de entidad.Attaches an object or object graph to the object context when the object has an entity key.

AttachTo(String, Object) AttachTo(String, Object) AttachTo(String, Object) AttachTo(String, Object)

Adjunta un objeto o un gráfico de objetos al contexto del objeto de un conjunto de entidades determinado.Attaches an object or object graph to the object context in a specific entity set.

CreateDatabase() CreateDatabase() CreateDatabase() CreateDatabase()

Crea la base de datos usando la conexión del origen de datos actual y los metadatos de StoreItemCollection.Creates the database by using the current data source connection and the metadata in the StoreItemCollection.

CreateDatabaseScript() CreateDatabaseScript() CreateDatabaseScript() CreateDatabaseScript()

Genera un script del lenguaje de definición de datos (DDL) que crea objetos de esquema (tablas, claves principales, claves externas) para los metadatos de StoreItemCollection.Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. El objeto StoreItemCollection carga los metadatos desde los archivos de lenguaje de definición de esquemas de almacenamiento (SSDL).The StoreItemCollection loads metadata from store schema definition language (SSDL) files.

CreateEntityKey(String, Object) CreateEntityKey(String, Object) CreateEntityKey(String, Object) CreateEntityKey(String, Object)

Crea la clave de entidad para un objeto determinado o devuelve la clave de entidad si ya existe.Creates the entity key for a specific object, or returns the entity key if it already exists.

CreateObject<T>() CreateObject<T>() CreateObject<T>() CreateObject<T>()

Crea y devuelve una instancia del tipo solicitado.Creates and returns an instance of the requested type .

CreateObjectSet<TEntity>() CreateObjectSet<TEntity>() CreateObjectSet<TEntity>() CreateObjectSet<TEntity>()

Crea una nueva instancia de ObjectSet<TEntity> que se usa para consultar, agregar, modificar y eliminar objetos del tipo de entidad 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) CreateObjectSet<TEntity>(String) CreateObjectSet<TEntity>(String) CreateObjectSet<TEntity>(String)

Crea una nueva instancia de ObjectSet<TEntity> que se usa para consultar, agregar, modificar y eliminar objetos del tipo especificado y con el nombre del conjunto de entidades indicado.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>) CreateProxyTypes(IEnumerable<Type>) CreateProxyTypes(IEnumerable<Type>) CreateProxyTypes(IEnumerable<Type>)

Genera un tipo equivalente que se puede usar con Entity Framework para cada tipo de la enumeración proporcionada.Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.

CreateQuery<T>(String, ObjectParameter[]) CreateQuery<T>(String, ObjectParameter[]) CreateQuery<T>(String, ObjectParameter[]) CreateQuery<T>(String, ObjectParameter[])

Crea una ObjectQuery<T> en el contexto del objeto actual usando la cadena de consulta especificada.Creates an ObjectQuery<T> in the current object context by using the specified query string.

DatabaseExists() DatabaseExists() DatabaseExists() DatabaseExists()

Comprueba si la base de datos que se especifica como la base de datos en la conexión del origen de datos actual existe en el origen de datos.Checks if the database that is specified as the database in the current data source connection exists on the data source.

DeleteDatabase() DeleteDatabase() DeleteDatabase() DeleteDatabase()

Elimina la base de datos que se especifica como base de datos en la conexión del origen de datos actual.Deletes the database that is specified as the database in the current data source connection.

DeleteObject(Object) DeleteObject(Object) DeleteObject(Object) DeleteObject(Object)

Marca un objeto para su eliminación.Marks an object for deletion.

Detach(Object) Detach(Object) Detach(Object) Detach(Object)

Quita el objeto del contexto del objeto.Removes the object from the object context.

DetectChanges() DetectChanges() DetectChanges() DetectChanges()

Garantiza que los cambios de ObjectStateEntry se sincronizan con los cambios en todos los objetos de los que ObjectStateManager realiza un seguimiento.Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.

Dispose() Dispose() Dispose() Dispose()

Libera los recursos usados por el contexto del objeto.Releases the resources used by the object context.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos usados por el contexto del objeto.Releases the resources used by the object context.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExecuteFunction(String, ObjectParameter[]) ExecuteFunction(String, ObjectParameter[]) ExecuteFunction(String, ObjectParameter[]) ExecuteFunction(String, ObjectParameter[])

Ejecuta un procedimiento almacenado o una función que se define en el origen de datos y se expresa en el modelo conceptual, descarta cualquier resultado devuelto de la función y devuelve el número de filas afectadas por la ejecución.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[]) ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[]) ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[]) ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[])

Ejecuta la función o el procedimiento almacenado especificado que se define en el origen de datos y se expresa en el modelo conceptual, con los parámetros y la opción de combinación especificados.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. Devuelve un objeto ObjectResult<T> con tipo.Returns a typed ObjectResult<T>.

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

Ejecuta un procedimiento almacenado o una función que se define en el origen de datos y se asigna en el modelo conceptual, con los 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. Devuelve un objeto ObjectResult<T> con tipo.Returns a typed ObjectResult<T>.

ExecuteStoreCommand(String, Object[]) ExecuteStoreCommand(String, Object[]) ExecuteStoreCommand(String, Object[]) ExecuteStoreCommand(String, Object[])

Ejecuta un comando arbitrario directamente en el origen de datos usando la conexión existente.Executes an arbitrary command directly against the data source using the existing connection.

ExecuteStoreQuery<TElement>(String, Object[]) ExecuteStoreQuery<TElement>(String, Object[]) ExecuteStoreQuery<TElement>(String, Object[]) ExecuteStoreQuery<TElement>(String, Object[])

Ejecuta una consulta directamente con el origen de datos que devuelve una secuencia de resultados con tipo.Executes a query directly against the data source that returns a sequence of typed results.

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

Ejecuta una consulta directamente con el origen de datos y devuelve una secuencia de resultados con tipo.Executes a query directly against the data source and returns a sequence of typed results. Especifique el conjunto de entidades y la opción de combinación para que se pueda realizar el seguimiento de los resultados de la consulta como entidades.Specify the entity set and the merge option so that query results can be tracked as entities.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetKnownProxyTypes() GetKnownProxyTypes() GetKnownProxyTypes() GetKnownProxyTypes()

Devuelve todos los tipos de proxy existentes.Returns all the existing proxy types.

GetObjectByKey(EntityKey) GetObjectByKey(EntityKey) GetObjectByKey(EntityKey) GetObjectByKey(EntityKey)

Devuelve un objeto que tiene la clave de entidad especificada.Returns an object that has the specified entity key.

GetObjectType(Type) GetObjectType(Type) GetObjectType(Type) GetObjectType(Type)

Devuelve el tipo de la entidad POCO asociada a un objeto proxy de un tipo especificado.Returns the entity type of the POCO entity associated with a proxy object of a specified type.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
LoadProperty(Object, String) LoadProperty(Object, String) LoadProperty(Object, String) LoadProperty(Object, String)

Carga explícitamente un objeto relacionado con el objeto proporcionado por la propiedad de navegación especificada y usando la opción de combinación predeterminada.Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option.

LoadProperty(Object, String, MergeOption) LoadProperty(Object, String, MergeOption) LoadProperty(Object, String, MergeOption) LoadProperty(Object, String, MergeOption)

Carga explícitamente un objeto relacionado con el objeto proporcionado por la propiedad de navegación especificada y usando la opción de combinación indicada.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>>) LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>) LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>) LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>)

Carga explícitamente un objeto relacionado con el objeto proporcionado por la consulta LINQ especificada y usando la opción de combinación predeterminada.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) LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption) LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption) LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption)

Carga explícitamente un objeto relacionado con el objeto proporcionado por la consulta LINQ especificada y usando la opción de combinación indicada.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
Refresh(RefreshMode, IEnumerable) Refresh(RefreshMode, IEnumerable) Refresh(RefreshMode, IEnumerable) Refresh(RefreshMode, IEnumerable)

Actualiza una colección de objetos en el contexto del objeto con datos procedentes del origen de datos.Updates a collection of objects in the object context with data from the data source.

Refresh(RefreshMode, Object) Refresh(RefreshMode, Object) Refresh(RefreshMode, Object) Refresh(RefreshMode, Object)

Actualiza un objeto en el contexto del objeto con datos procedentes del origen de datos.Updates an object in the object context with data from the data source.

SaveChanges() SaveChanges() SaveChanges() SaveChanges()

Conserva todas las actualizaciones en el origen de datos y restablece el seguimiento de cambios en el contexto del objeto.Persists all updates to the data source and resets change tracking in the object context.

SaveChanges(Boolean) SaveChanges(Boolean) SaveChanges(Boolean) SaveChanges(Boolean)

Conserva todas las actualizaciones en el origen de datos y, opcionalmente, restablece el seguimiento de cambios en el contexto del objeto.Persists all updates to the data source and optionally resets change tracking in the object context.

SaveChanges(SaveOptions) SaveChanges(SaveOptions) SaveChanges(SaveOptions) SaveChanges(SaveOptions)

Conserva todas las actualizaciones al origen de datos con el SaveOptions especificado.Persists all updates to the data source with the specified SaveOptions.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
Translate<TElement>(DbDataReader) Translate<TElement>(DbDataReader) Translate<TElement>(DbDataReader) Translate<TElement>(DbDataReader)

Convierte un objeto DbDataReader que contiene filas de datos de entidad en objetos del tipo de entidad solicitado.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type.

Translate<TEntity>(DbDataReader, String, MergeOption) Translate<TEntity>(DbDataReader, String, MergeOption) Translate<TEntity>(DbDataReader, String, MergeOption) Translate<TEntity>(DbDataReader, String, MergeOption)

Convierte un DbDataReader que contiene filas de datos de entidad en objetos del tipo de entidad solicitado, en un conjunto de entidades concreto, y con la opción de combinación 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) TryGetObjectByKey(EntityKey, Object) TryGetObjectByKey(EntityKey, Object) TryGetObjectByKey(EntityKey, Object)

Devuelve un objeto que tiene la clave de entidad especificada.Returns an object that has the specified entity key.

Eventos

ObjectMaterialized ObjectMaterialized ObjectMaterialized ObjectMaterialized

Se produce cuando se crea un nuevo objeto entidad a partir de datos del origen de datos como parte de una operación de consulta o de carga.Occurs when a new entity object is created from data in the data source as part of a query or load operation.

SavingChanges SavingChanges SavingChanges SavingChanges

Se produce cuando se guardan cambios en el origen de datos.Occurs when changes are saved to the data source.

Se aplica a

Consulte también: