Compartir a través de


ObjectContext Clase

Definición

ObjectContext es el objeto de nivel superior que encapsula una conexión entre CLR y la base de datos, que actúa como puerta de enlace para las operaciones Crear, Leer, Actualizar y Eliminar.

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
public class ObjectContext : IDisposable, System.Data.Entity.Infrastructure.IObjectContextAdapter
type ObjectContext = class
    interface IDisposable
    interface IObjectContextAdapter
Public Class ObjectContext
Implements IDisposable, IObjectContextAdapter
Herencia
ObjectContext
Atributos
Implementaciones

Constructores

ObjectContext(EntityConnection)

Inicializa una nueva instancia de la clase ObjectContext con la conexión especificada. Durante la construcción, el área de trabajo de metadatos se extrae del objeto EntityConnection.

ObjectContext(EntityConnection, Boolean)

Crea un objectContext con la conexión y el área de trabajo de metadatos especificadas.

ObjectContext(EntityConnection, String)

Inicializa una nueva instancia de la clase ObjectContext con la conexión y el nombre de contenedor de entidades especificados.

ObjectContext(String)

Inicializa una nueva instancia de la clase ObjectContext con la cadena de conexión y el nombre de contenedor de entidades predeterminado especificados.

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.

Propiedades

CommandTimeout

Obtiene o establece el valor de tiempo de espera, en segundos, para todas las operaciones del contexto del objeto. Un valor NULL indica que se usará el valor predeterminado del proveedor subyacente.

Connection

Obtiene la conexión usada por el contexto del objeto.

ContextOptions

Obtiene la ObjectContextOptions instancia de que contiene opciones que afectan al comportamiento de ObjectContext .

DefaultContainerName

Obtiene o establece el nombre del contenedor predeterminado.

InterceptionContext

Devuelve el objeto DbInterceptionContext que se usa para este contexto.

MetadataWorkspace

Obtiene el área de trabajo de metadatos usada por el contexto del objeto.

ObjectStateManager

Obtiene el administrador de estados de objetos usado por el contexto del objeto para realizar el seguimiento de los cambios en los objetos.

QueryProvider

Obtiene el proveedor de consultas LINQ asociado a este contexto del objeto.

TransactionHandler

Obtiene el controlador de transacciones que usa este contexto. Puede ser null si no se ha iniciado ninguna transacción.

Métodos

AcceptAllChanges()

Acepta todos los cambios realizados en los objetos del contexto del objeto.

AddObject(String, Object)

Agrega un objeto al contexto del objeto.

ApplyCurrentValues<TEntity>(String, TEntity)

Copia los valores escalares del objeto proporcionado al objeto de ObjectContext que tiene la misma clave.

ApplyOriginalValues<TEntity>(String, TEntity)

Toma los valores escalares del objeto proporcionado y los copia en el conjunto de valores originales para el objeto del ObjectContext que tiene la misma clave.

ApplyPropertyChanges(String, Object)
Obsoletos.

Aplica los cambios de propiedades de un objeto desasociado a un objeto ya asociado al contexto del objeto.

Attach(IEntityWithKey)

Asocia un objeto o un gráfico de objetos al contexto del objeto cuando el objeto tiene una clave de entidad.

AttachTo(String, Object)

Asocia un objeto o un gráfico de objetos al contexto del objeto de un conjunto de entidades determinado.

CreateDatabase()

Crea la base de datos mediante la conexión del origen de datos actual y los metadatos de StoreItemCollection .

CreateDatabaseScript()

Genera un script de lenguaje de definición de datos (DDL) que crea objetos de esquema (tablas, claves principales, claves externas) para los metadatos de StoreItemCollection . StoreItemCollection carga los metadatos de los archivos del lenguaje de definición de esquemas de almacenamiento (SSDL, Store Schema Definition Language).

CreateEntityKey(String, Object)

Crea la clave de entidad para un objeto determinado o devuelve la clave de entidad si ya existe.

CreateObject<T>()

Crea y devuelve una instancia del tipo solicitado.

CreateObjectSet<TEntity>()

Crea una nueva instancia de ObjectSet<TEntity> que se usa para consultar, agregar, modificar y eliminar objetos del tipo de entidad especificado.

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.

CreateProxyTypes(IEnumerable<Type>)

Genera un tipo equivalente que se puede usar con Entity Framework para cada tipo de la enumeración proporcionada.

CreateQuery<T>(String, ObjectParameter[])

Crea una ObjectQuery<T> en el contexto del objeto actual usando la cadena de consulta especificada.

DatabaseExists()

Comprueba si la base de datos especificada como la base de datos en la conexión del almacén actual existe en el almacén. La mayoría del trabajo real se realiza mediante la implementación de DbProviderServices para la conexión de almacén actual.

DeleteDatabase()

Elimina la base de datos que se especifica como base de datos en la conexión del origen de datos actual.

DeleteObject(Object)

Marca un objeto para su eliminación.

Detach(Object)

Quita el objeto del contexto del objeto.

DetectChanges()

Garantiza que ObjectStateEntry los cambios se sincronizan con los cambios en todos los objetos de los que realiza el seguimiento .ObjectStateManager

Dispose()

Libera los recursos usados por el contexto del objeto.

Dispose(Boolean)

Libera los recursos usados por el contexto del objeto.

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.

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

Ejecuta la función especificada en el contenedor predeterminado.

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. Devuelve un objeto con tipo ObjectResult<T> .

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. Devuelve un objeto con tipo ObjectResult<T> .

ExecuteStoreCommand(String, Object[])

Ejecuta un comando arbitrario directamente en el origen de datos usando la conexión existente. El comando se especifica mediante el lenguaje de consulta nativo del servidor, como SQL.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreCommand("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreCommand("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreCommand(TransactionalBehavior, String, Object[])

Ejecuta un comando arbitrario directamente en el origen de datos usando la conexión existente. El comando se especifica mediante el lenguaje de consulta nativo del servidor, como SQL.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreCommand("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreCommand("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreCommandAsync(String, CancellationToken, Object[])

Ejecuta de forma asincrónica un comando arbitrario directamente en el origen de datos mediante la conexión existente. El comando se especifica mediante el lenguaje de consulta nativo del servidor, como SQL.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreCommandAsync(String, Object[])

Ejecuta de forma asincrónica un comando arbitrario directamente en el origen de datos mediante la conexión existente. El comando se especifica mediante el lenguaje de consulta nativo del servidor, como SQL.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreCommandAsync(TransactionalBehavior, String, CancellationToken, Object[])

Ejecuta de forma asincrónica un comando arbitrario directamente en el origen de datos mediante la conexión existente. El comando se especifica mediante el lenguaje de consulta nativo del servidor, como SQL.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreCommandAsync(TransactionalBehavior, String, Object[])

Ejecuta de forma asincrónica un comando arbitrario directamente en el origen de datos mediante la conexión existente. El comando se especifica mediante el lenguaje de consulta nativo del servidor, como SQL.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreCommandAsync("UPDATE dbo. Publicaciones SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

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

Ejecuta una consulta directamente con el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. El contexto no realiza un seguimiento de los resultados, use la sobrecarga que especifica un nombre de conjunto de entidades para realizar un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreQuery<TElement>(String, Object[])

Ejecuta una consulta directamente con el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. El contexto no realiza un seguimiento de los resultados, use la sobrecarga que especifica un nombre de conjunto de entidades para realizar un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

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

Ejecuta una consulta directamente con el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. Si se especifica un nombre de conjunto de entidades, el contexto realiza un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

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

Ejecuta una consulta directamente con el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. Si se especifica un nombre de conjunto de entidades, el contexto realiza un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQuery<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, CancellationToken, Object[])

Ejecuta de forma asincrónica una consulta directamente en el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. El contexto no realiza un seguimiento de los resultados, use la sobrecarga que especifica un nombre de conjunto de entidades para realizar un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, CancellationToken, Object[])

Ejecuta de forma asincrónica una consulta directamente en el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. El contexto no realiza un seguimiento de los resultados, use la sobrecarga que especifica un nombre de conjunto de entidades para realizar un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, Object[])

Ejecuta de forma asincrónica una consulta directamente en el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. El contexto no realiza un seguimiento de los resultados, use la sobrecarga que especifica un nombre de conjunto de entidades para realizar un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, Object[])

Ejecuta de forma asincrónica una consulta directamente en el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. El contexto no realiza un seguimiento de los resultados, use la sobrecarga que especifica un nombre de conjunto de entidades para realizar un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, CancellationToken, Object[])

Ejecuta de forma asincrónica una consulta directamente en el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. Si se especifica un nombre de conjunto de entidades, el contexto realiza un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, Object[])

Ejecuta de forma asincrónica una consulta directamente en el origen de datos y devuelve una secuencia de resultados con tipo. La consulta se especifica mediante el lenguaje de consulta nativo del servidor, como SQL. Si se especifica un nombre de conjunto de entidades, el contexto realiza un seguimiento de los resultados.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo. Publicaciones WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Finalize()

Finaliza una instancia de la ObjectContext clase .

GetKnownProxyTypes()

Devuelve todos los tipos de proxy existentes.

GetObjectByKey(EntityKey)

Devuelve un objeto que tiene la clave de entidad especificada.

GetObjectType(Type)

Devuelve el tipo de la entidad POCO asociada a un objeto proxy de un tipo especificado.

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.

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.

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.

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.

Refresh(RefreshMode, IEnumerable)

Novedades una colección de objetos en el contexto del objeto con datos de la base de datos.

Refresh(RefreshMode, Object)

Novedades un objeto en el contexto del objeto con datos de la base de datos.

RefreshAsync(RefreshMode, IEnumerable)

Actualiza de forma asincrónica una colección de objetos en el contexto del objeto con datos de la base de datos.

RefreshAsync(RefreshMode, IEnumerable, CancellationToken)

Actualiza de forma asincrónica una colección de objetos en el contexto del objeto con datos de la base de datos.

RefreshAsync(RefreshMode, Object)

Actualiza de forma asincrónica un objeto en el contexto del objeto con datos de la base de datos.

RefreshAsync(RefreshMode, Object, CancellationToken)

Actualiza de forma asincrónica un objeto en el contexto del objeto con datos de la base de datos.

SaveChanges()

Conserva todas las actualizaciones de la base de datos y restablece el seguimiento de cambios en el contexto del objeto.

SaveChanges(Boolean)
Obsoletos.

Conserva todas las actualizaciones de la base de datos y, opcionalmente, restablece el seguimiento de cambios en el contexto del objeto.

SaveChanges(SaveOptions)

Conserva todas las actualizaciones de la base de datos y, opcionalmente, restablece el seguimiento de cambios en el contexto del objeto.

SaveChangesAsync()

Conserva de forma asincrónica todas las actualizaciones de la base de datos y restablece el seguimiento de cambios en el contexto del objeto.

SaveChangesAsync(CancellationToken)

Conserva de forma asincrónica todas las actualizaciones de la base de datos y restablece el seguimiento de cambios en el contexto del objeto.

SaveChangesAsync(SaveOptions)

Conserva de forma asincrónica todas las actualizaciones de la base de datos y, opcionalmente, restablece el seguimiento de cambios en el contexto del objeto.

SaveChangesAsync(SaveOptions, CancellationToken)

Conserva de forma asincrónica todas las actualizaciones de la base de datos y, opcionalmente, restablece el seguimiento de cambios en el contexto del objeto.

Translate<TElement>(DbDataReader)

Convierte un objeto DbDataReader que contiene filas de datos de entidad en objetos del tipo de entidad solicitado.

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.

TryGetObjectByKey(EntityKey, Object)

Devuelve un objeto que tiene la clave de entidad especificada.

Eventos

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.

SavingChanges

Se produce cuando se guardan cambios en el origen de datos.

Implementaciones de interfaz explícitas

IObjectContextAdapter.ObjectContext

Devuelve a sí mismo. ObjectContext implementa IObjectContextAdapter para proporcionar una interfaz común para DbContext y ObjectContext, que devolverán objectContext subyacente.

Se aplica a