Share via


System.Data.Entity.Infrastructure (Espacio de nombres)

[Esta página es específica de la versión 6 de Entity Framework. La versión más reciente está disponible como el paquete NuGet de Entity Framework. Para más información sobre Entity Framework, consulte msdn.com/es-ES/data/ef].

El espacio de nombres System.Data.Entity.Infrastructure contiene clases que admiten la funcionalidad básica de Entity Framework.

Clases

  Clase Descripción
Clase pública CommitFailedException Excepción que se produce cuando tiene lugar un error al confirmar una DbTransaction.
Clase pública CommitFailureHandler Representa un controlador de transacciones que permite recuperarse correctamente de errores de conexión durante la confirmación de una transacción almacenando información de seguimiento de la transacción en la base de datos.Se debe registrar mediante SetDefaultTransactionHandler(Func<TransactionHandler>).
Clase pública DbChangeTracker Lo devuelve el método ChangeTracker de DbContext para proporcionar acceso a características del contexto relacionadas con el seguimiento de cambios de entidades.
Clase pública DbCollectionEntry Representa una versión no genérica de la clase DbCollectionEntry<TEntity, TElement>.
Clase pública DbCollectionEntry<TEntity, TElement> Las instancias de esta clase se devuelven desde el método Collection de DbEntityEntry<TEntity> y permiten realizar operaciones como la carga en las propiedades de navegación de colección de una entidad.
Clase pública DbCompiledModel Representación inmutable de un modelo de Entity Data Model (EDM) que se puede usar para crear un ObjectContext o que se puede pasar al constructor de un DbContext.Para aumentar el rendimiento, las instancias de este tipo deben almacenarse en memoria caché y volver a utilizarse para crear contextos.
Clase pública DbComplexPropertyEntry Una versión no genérica de la clase DbComplexPropertyEntry<TEntity, TComplexProperty>.
Clase pública DbComplexPropertyEntry<TEntity, TComplexProperty> Las instancias de esta clase se devuelven desde el método ComplexProperty de DbEntityEntry<TEntity> y permiten el acceso al estado de una propiedad compleja.
Clase pública DbConnectionInfo Representa información sobre una conexión de la base de datos.
Clase pública DbContextConfiguration Lo devuelve el método Configuration de DbContext para proporcionar acceso a las opciones de configuración para el contexto.
Clase pública DbContextInfo Proporciona información de tiempo de ejecución sobre un tipo de DbContext determinado.
Clase pública DbEntityEntry Una versión no genérica de la clase DbEntityEntry<TEntity>.
Clase pública DbEntityEntry<TEntity> Las instancias de esta clase proporcionan acceso a información sobre, y el control de, entidades de las que el objeto DbContext realiza un seguimiento.Utilice los métodos Entity o Entities del contexto para obtener objetos de este tipo.
Clase pública DbExecutionStrategy Proporciona la implementación base del mecanismo de reintentos para las operaciones y las condiciones transitorias no confiables que usan retrasos que aumentan exponencialmente entre los reintentos.
Clase pública DbMemberEntry Esta es una clase base abstracta que se utiliza para representar una propiedad escalar o compleja o una propiedad de navegación de una entidad.Las propiedades escalares y complejas utilizan la clase derivada DbPropertyEntry, las propiedades de navegación de referencia utilizan la clase derivada DbReferenceEntry y las propiedades de navegación de colección utilizan la clase derivada DbCollectionEntry.
Clase pública DbMemberEntry<TEntity, TProperty> Esta es una clase base abstracta que se utiliza para representar una propiedad escalar o compleja o una propiedad de navegación de una entidad.Las propiedades escalares y complejas utilizan la clase derivada DbPropertyEntry<TEntity, TProperty>, las propiedades de navegación de referencia utilizan la clase derivada DbReferenceEntry<TEntity, TProperty> y las propiedades de navegación de colección utilizan la clase derivada DbCollectionEntry<TEntity, TElement>.
Clase pública DbModel Representa un Entity Data Model (EDM) creado por DbModelBuilder.Método Compile que se puede usar para convertir esta representación de EDM en un DbCompiledModel que es una instantánea compilada del modelo adecuado para el almacenamiento en memoria caché y la creación de instancias de DbContext u ObjectContext.
Clase pública DbPropertyEntry Una versión no genérica de la clase DbPropertyEntry<TEntity, TProperty>.
Clase pública DbPropertyEntry<TEntity, TProperty> Las instancias de esta clase se devuelven desde el método Property de DbEntityEntry<TEntity> y permiten el acceso al estado de la propiedad compleja o escalar.
Clase pública DbPropertyValues Una colección de todas las propiedades para una entidad u objeto complejo subyacentes.
Clase pública DbProviderInfo Agrupa un par de cadenas que identifican conjuntamente a un proveedor y a una versión de servidor en un único objeto.
Clase pública DbQuery Representa una consulta LINQ to Entities no genérico en un DbContext.
Clase pública DbQuery<TResult> Representa una consulta LINQ to Entities en un DbContext.
Clase pública DbRawSqlQuery Representa una consulta SQL para elementos que no son entidades que se crean a partir de un DbContext y se ejecutan usando la conexión de ese contexto.Las instancias de esta clase se obtienen a partir de la instancia de Database.La consulta no se ejecuta cuando se crea este objeto; se ejecuta cada vez que se enumera, por ejemplo, utilizando foreach.Las consultas SQL para entidades se crean mediante SqlQuery(String, Object[]).Vea DbRawSqlQuery<TElement> en el caso de una versión genérica de esta clase.
Clase pública DbRawSqlQuery<TElement> Representa una consulta SQL para elementos que no son entidades que se crean a partir de un DbContext y se ejecutan usando la conexión de ese contexto.Las instancias de esta clase se obtienen a partir de la instancia de Database.La consulta no se ejecuta cuando se crea este objeto; se ejecuta cada vez que se enumera, por ejemplo, mediante foreach.Las consultas SQL para entidades se crean mediante SqlQuery(String, Object[]).Vea DbRawSqlQuery en el caso de una versión no genérica de esta clase.
Clase pública DbReferenceEntry Una versión no genérica de la clase DbReferenceEntry<TEntity, TProperty>.
Clase pública DbReferenceEntry<TEntity, TProperty> Las instancias de esta clase se devuelven desde el método Reference de DbEntityEntry<TEntity> y permiten realizar operaciones como la carga en las propiedades de navegación de referencia de una entidad.
Clase pública DbSqlQuery Representa una consulta SQL para entidades que se crean a partir de un objeto DbContext y se ejecuta utilizando la conexión desde ese contexto.Las instancias de esta clase se obtienen de la instancia de DbSet para el tipo de entidad.La consulta no se ejecuta cuando se crea este objeto; se ejecuta cada vez que se enumera, por ejemplo, utilizando foreach.Las consultas SQL para elementos que no son entidades se crean mediante SqlQuery(Type, String, Object[]).Vea DbSqlQuery<TEntity> en el caso de una versión genérica de esta clase.
Clase pública DbSqlQuery<TEntity> Representa una consulta SQL para entidades que se crean a partir de un objeto DbContext y se ejecuta utilizando la conexión desde ese contexto.Las instancias de esta clase se obtienen de la instancia de DbSet<TEntity> para el tipo de entidad.La consulta no se ejecuta cuando se crea este objeto; se ejecuta cada vez que se enumera, por ejemplo, utilizando foreach.Las consultas SQL para elementos que no son entidades se crean mediante SqlQuery<TElement>(String, Object[]).Vea DbSqlQuery en el caso de una versión no genérica de esta clase.
Clase pública DbUpdateConcurrencyException Excepción producida por DbContext cuando se esperaba que SaveChanges para una entidad produjera una actualización de la base de datos pero, de hecho, ninguna fila de la base de datos se ha visto afectada.Esto suele indicar que la base de datos se ha actualizado simultáneamente de forma que un token de simultaneidad que se esperaba que coincidiera no ha coincidido realmente.Tenga en cuenta que las entradas de estado a que hace referencia esta excepción no se serializan debido a la seguridad y los accesos a las entradas de estado después de la serialización devolverán NULL.
Clase pública DbUpdateException Excepción producida por DbContext cuando no se consiguen guardar los cambios en la base de datos.Tenga en cuenta que las entradas de estado a que hace referencia esta excepción no se serializan debido a la seguridad y los accesos a las entradas de estado después de la serialización devolverán NULL.
Clase pública DefaultExecutionStrategy Representa una IDbExecutionStrategy predeterminada que no reintenta operaciones si se producen errores.
Clase pública DefaultManifestTokenResolver Devuelve una implementación predeterminada de IManifestTokenResolver que usa el proveedor subyacente para obtener el token de manifiesto.Tenga en cuenta que para evitar varias consultas, esta implementación usa almacenamiento en caché según el tipo real de la instancia de DbConnection, la propiedad DataSource y la propiedad Database.
Clase pública EdmMetadata Obsoleta. Representa una entidad utilizada para almacenar los metadatos sobre un EDM en la base de datos.
Clase pública EdmxWriter Contiene los métodos utilizados para tener acceso al Entity Data Model creado por Code First en formato EDMX.Estos métodos se utilizan normalmente para la depuración cuando es necesario examinar el modelo que Code First crea internamente.
Clase pública ExecutionStrategyKey Clave usada para resolver Func<TResult>.Consta del nombre invariable del proveedor de ADO.NET y el nombre del servidor de bases de datos según se especifica en la cadena de conexión.
Clase pública IncludeMetadataConvention Obsoleta. Esta convención de DbModelBuilder hace que DbModelBuilder incluya metadatos sobre el modelo cuando crea el modelo.Cuando DbContext crea un modelo por convención, agrega esta convención a la lista de las usadas por DbModelBuilder.Esto hará que los metadatos del modelo se escriban en la base de datos si se usa el DbContext para crear la base de datos.Esto se puede usar después como comprobación rápida para ver si el modelo ha cambiado desde la última vez que se usó en la base de datos.Esta convención puede quitarse de las convenciones de DbModelBuilder si se invalida el método OnModelCreating en una clase derivada de DbContext.
Clase pública LocalDbConnectionFactory Las instancias de esta clase se usan para crear objetos DbConnection para SQL Server LocalDb en función de un nombre de base de datos o de una cadena de conexión especificados.
Clase pública ModelContainerConvention Esta convención de DbModelBuilder usa el nombre de la clase DbContext derivada como contenedor para el modelo conceptual creado mediante Code First.
Clase pública ModelNamespaceConvention Esta convención de DbModelBuilder emplea el espacio de nombres de la clase DbContext derivada como el espacio de nombres del modelo conceptual creado mediante Code First.
Clase pública ObjectReferenceEqualityComparer Compara objetos mediante igualdad de referencia.
Clase pública ReplacementDbQueryWrapper<TElement> Las instancias de esta clase se usan internamente para crear expresiones constantes para ObjectQuery<T> que se insertan en el árbol de expresiones para reemplazar las referencias a DbQuery<TResult> y DbQuery.
Clase pública RetryLimitExceededException Excepción que se produce cuando la acción fracasa de nuevo después de reintentarse el número configurado de veces.
Clase pública SqlCeConnectionFactory Las instancias de esta clase se utilizan para crear objetos DbConnection para SQL Server Compact Edition basándose en un nombre de base de datos o una cadena de conexión determinados.
Clase pública SqlConnectionFactory Las instancias de esta clase se utilizan para crear objetos DbConnection para SQL Server basándose en un nombre de base de datos o una cadena de conexión determinados.De forma predeterminada, la conexión se realiza con '.\SQLEXPRESS'.Esto se puede cambiar modificando la cadena de conexión base al crear una instancia del generador.
Clase pública SuppressDbSetInitializationAttribute Este atributo se puede aplicar a una clase DbContext derivada completa o a las propiedades IDbSet<TEntity> o DbSet<TEntity> individuales en esa clase.Cuando se aplican propiedades IDbSet<TEntity> o DbSet<TEntity> detectadas, se seguirá incluyendo en el modelo pero no se inicializará automáticamente.
Clase pública TableExistenceChecker Implementado por proveedores de Entity Framework y utilizado para comprobar si existen tablas en una base de datos determinada.Lo utilizan los inicializadores de la base de datos al determinar si deben tratar una base de datos existente como vacía, de modo que se creen tablas.
Clase pública TransactionContext CommitFailureHandler usa esta clase para escribir y leer información de seguimiento de transacciones de la base de datos.Para personalizar la definición de la tabla de transacciones, puede derivar de esta clase e invalidar OnModelCreating(DbModelBuilder).Las clases derivadas se pueden registrar mediante DbConfiguration.
Clase pública TransactionHandler Representa la clase base para los interceptores que administran las operaciones de transacciones.Las clases derivadas se pueden registrar mediante SetDefaultTransactionHandler(Func<TransactionHandler>) o SetTransactionHandler(String, Func<TransactionHandler>, String).
Clase pública TransactionRow Representa una transacción.
Clase pública UnintentionalCodeFirstException Se produce cuando se genera un contexto a partir de las plantillas de DbContext en modo Database First o Model First y se usa después en modo Code First.

Interfaces

  Interfaz Descripción
Interfaz pública IDbAsyncEnumerable Versión asincrónica de la interfaz IEnumerable que permite recuperar elementos de forma asincrónica.Esta interfaz se usa para interactuar con consultas de Entity Framework y no se debe implementar mediante clases personalizadas.
Interfaz pública IDbAsyncEnumerable<T> Versión asincrónica de la interfaz IEnumerable<T> que permite recuperar elementos de la secuencia enumerable de forma asincrónica.Esta interfaz se usa para interactuar con consultas de Entity Framework y no se debe implementar mediante clases personalizadas.
Interfaz pública IDbAsyncEnumerator Versión asincrónica de la interfaz IEnumerator que permite recuperar elementos de forma asincrónica.Esta interfaz se usa para interactuar con consultas de Entity Framework y no se debe implementar mediante clases personalizadas.
Interfaz pública IDbAsyncEnumerator<T> Versión asincrónica de la interfaz IEnumerator<T> que permite recuperar elementos de forma asincrónica.Esta interfaz se usa para interactuar con consultas de Entity Framework y no se debe implementar mediante clases personalizadas.
Interfaz pública IDbAsyncQueryProvider Define métodos para crear y ejecutar de forma asincrónica las consultas descritas por un objeto IQueryable.Esta interfaz se usa para interactuar con consultas de Entity Framework y no se debe implementar mediante clases personalizadas.
Interfaz pública IDbConnectionFactory Las implementaciones de esta interfaz se emplean para crear objetos DbConnection para un tipo de servidor de bases de datos en función de un nombre de base de datos especificado.Se establece una instancia en la clase Database para que todos los DbContexts se creen sin información de conexión o simplemente con un nombre de base de datos o una cadena de conexión para usar un determinado tipo de servidor de bases de datos de forma predeterminada.Se proporcionan dos implementaciones de esta interfaz: SqlConnectionFactory se usa para crear conexiones con Microsoft SQL Server, incluidas versiones EXPRESS.SqlCeConnectionFactory se usa para crear conexiones con versiones Microsoft SQL Server Compact.Se pueden agregar otras implementaciones para otros servidores de bases de datos según sea necesario.Tenga en cuenta que las implementaciones deben ser seguras para subprocesos o inmutables, ya que varios subprocesos pueden tener acceso a ellas al mismo tiempo.
Interfaz pública IDbContextFactory<TContext> Generador para crear instancias de DbContext derivadas.Implemente esta interfaz para habilitar los servicios de tiempo de diseño para los tipos de contexto que no disponen de un constructor público predeterminado.En tiempo de diseño, se pueden crear instancias derivadas DbContext para habilitar usos de tiempo de diseño específicos como, por ejemplo, la representación de modelos, la generación de DDL, etc.Para habilitar la creación de instancias en tiempo de diseño para tipos derivados DbContext que no disponen de un constructor público predeterminado, implemente esta interfaz.Los servicios de tiempo de diseño detectarán automáticamente implementaciones de esta interfaz que se encuentren en el mismo ensamblado que el tipo de DbContext derivado.
Interfaz pública IDbExecutionStrategy Estrategia que se usa para ejecutar un comando o una consulta en la base de datos, posiblemente con lógica de reintentos si se produce un error.
Interfaz pública IDbModelCacheKey Representa un valor clave que identifica de forma exclusiva un modelo de Entity Framework que ha sido cargado en la memoria.
Interfaz pública IDbModelCacheKeyProvider Implemente esta interfaz en su contexto para utilizar lógica personalizada con el objeto de calcular la clave empleada para buscar un modelo ya creado en la memoria caché.Esta interfaz permite tener un único tipo de contexto que puede utilizarse con diferentes modelos en el mismo AppDomain, o bien varios tipos de contextos que utilizan el mismo modelo.
Interfaz pública IDbProviderFactoryResolver Servicio para obtener el DbProviderFactory correcto a partir de un DbConnection especificado.
Interfaz pública IManifestTokenResolver Servicio para obtener un token de manifiesto del proveedor dada una conexión.La clase DefaultManifestTokenResolver se usa de forma predeterminada y emplea el proveedor subyacente para obtener el token que suele implicar la apertura de la conexión.Se puede usar en su lugar otra implementación diferente si se agrega una IDbDependencyResolver a DbConfiguration que pueda usar cualquier información de la conexión para devolver el token.Por ejemplo, si se sabe que la conexión señala a una base de datos de SQL Server 2008, se puede devolver "2008" sin abrir la conexión.
Interfaz pública IMetadataAnnotationSerializer Implemente esta interfaz para permitir la serialización de anotaciones personalizadas representadas por instancias de MetadataProperty hacia y desde XML EDMX.Normalmente se establece una instancia del serializador mediante el método SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>).
Interfaz pública IObjectContextAdapter Interfaz implementada por los objetos que pueden proporcionar una instancia de ObjectContext.La clase DbContext implementa esta interfaz para proporcionar acceso al contexto de objeto subyacente.
Interfaz pública IProviderInvariantName Lo usan IDbDependencyResolver y DbConfiguration al resolver un nombre invariable de proveedor de un DbProviderFactory.

Enumeraciones

  Enumeración Descripción
Enumeración pública DbConnectionStringOrigin Describe el origen de la cadena de conexión de base de datos asociada a un DbContext.