DbContext Clase

Definición

Una instancia de DbContext representa una sesión con la base de datos y se puede usar para consultar y guardar instancias de las entidades. DbContext es una combinación de los patrones de unidad de trabajo y repositorio.

public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbQueryCache, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbQueryCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IAsyncDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
Public Class DbContext
Implements IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbQueryCache, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IAsyncDisposable, IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Herencia
DbContext
Implementaciones
IInfrastructure<IServiceProvider> IDisposable Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable Microsoft.EntityFrameworkCore.Internal.IDbSetCache Microsoft.EntityFrameworkCore.Internal.IDbQueryCache IResettableService IAsyncDisposable

Comentarios

Normalmente se crea una clase que se deriva de DbContext y contiene DbSet<TEntity> propiedades para cada entidad del modelo. Si las DbSet<TEntity> propiedades tienen un establecedor público, se inicializan automáticamente cuando se crea la instancia del contexto derivado.

Invalide el OnConfiguring(DbContextOptionsBuilder) método para configurar la base de datos (y otras opciones) que se usarán para el contexto. Como alternativa, si prefiere realizar la configuración externamente en lugar de insertarla en el contexto, puede usar DbContextOptionsBuilder<TContext> (o DbContextOptionsBuilder ) para crear externamente una instancia de DbContextOptions<TContext> (o DbContextOptions ) y pasarla a un constructor base de DbContext .

El modelo se detecta mediante la ejecución de un conjunto de convenciones sobre las clases de entidad que se encuentran en las DbSet<TEntity> propiedades en el contexto derivado. Para configurar aún más el modelo descubierto por Convención, puede invalidar el OnModelCreating(ModelBuilder) método.

Constructores

DbContext()

Inicializa una nueva instancia de la clase DbContext. El OnConfiguring(DbContextOptionsBuilder) se llamará al método para configurar la base de datos (y otras opciones) que se usarán para este contexto.

DbContext(DbContextOptions)

Inicializa una nueva instancia de la DbContext clase utilizando las opciones especificadas. OnConfiguring(DbContextOptionsBuilder)Todavía se llamará al método para permitir una configuración adicional de las opciones.

Propiedades

ChangeTracker

Proporciona acceso a la información y a las operaciones de las instancias de entidad a las que este contexto realiza un seguimiento.

ContextId

Identificador único de la concesión de grupo y instancia de contexto, si existe.

Este identificador está pensado principalmente como un identificador de correlación para el registro y la depuración, de modo que es fácil identificar que varios eventos están usando la misma instancia de contexto o distintas.

Database

Proporciona acceso a la información relacionada con la base de datos y a las operaciones para este contexto.

Model

Los metadatos acerca de la forma de las entidades, las relaciones entre ellas y cómo se asignan a la base de datos.

Métodos

Add(Object)

Comienza el seguimiento de la entidad dada y cualquier otra entidad accesible en la que aún no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

Use State para establecer el estado de una sola entidad.

Add<TEntity>(TEntity)

Comienza el seguimiento de la entidad dada y cualquier otra entidad accesible en la que aún no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

Use State para establecer el estado de una sola entidad.

AddAsync(Object, CancellationToken)

Comienza el seguimiento de la entidad dada y cualquier otra entidad accesible en la que aún no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

Use State para establecer el estado de una sola entidad.

Este método solo es asincrónico para permitir generadores de valores especiales, como el utilizado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para tener acceso a la base de datos de forma asincrónica. En todos los demás casos, se debe usar el método no asincrónico.

AddAsync<TEntity>(TEntity, CancellationToken)

Comienza el seguimiento de la entidad dada y cualquier otra entidad accesible en la que aún no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

Este método solo es asincrónico para permitir generadores de valores especiales, como el utilizado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para tener acceso a la base de datos de forma asincrónica. En todos los demás casos, se debe usar el método no asincrónico.

AddRange(IEnumerable<Object>)

Comienza el seguimiento de las entidades dadas y de cualquier otra entidad accesible en la que no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

AddRange(Object[])

Comienza el seguimiento de las entidades dadas y de cualquier otra entidad accesible en la que no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

AddRangeAsync(IEnumerable<Object>, CancellationToken)

Comienza el seguimiento de la entidad dada y cualquier otra entidad accesible en la que aún no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

Este método solo es asincrónico para permitir generadores de valores especiales, como el utilizado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para tener acceso a la base de datos de forma asincrónica. En todos los demás casos, se debe usar el método no asincrónico.

AddRangeAsync(Object[])

Comienza el seguimiento de la entidad dada y cualquier otra entidad accesible en la que aún no se realiza el seguimiento, en el Added Estado de tal forma que se inserten en la base de datos cuando SaveChanges() se llame a.

Este método solo es asincrónico para permitir generadores de valores especiales, como el utilizado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para tener acceso a la base de datos de forma asincrónica. En todos los demás casos, se debe usar el método no asincrónico.

Attach(Object)

Comienza el seguimiento de la entidad y las entradas a las que se puede obtener acceso desde la entidad dada mediante el Unchanged Estado de forma predeterminada, pero vea a continuación los casos en los que se usará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Unchanged Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que solo se inserten nuevas entidades. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Unchanged .

Use State para establecer el estado de una sola entidad.

Attach<TEntity>(TEntity)

Comienza el seguimiento de la entidad y las entradas a las que se puede obtener acceso desde la entidad dada mediante el Unchanged Estado de forma predeterminada, pero vea a continuación los casos en los que se usará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Unchanged Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que solo se inserten nuevas entidades. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Unchanged .

Use State para establecer el estado de una sola entidad.

AttachRange(IEnumerable<Object>)

Comienza el seguimiento de las entidades y entradas dadas accesibles desde las entidades dadas usando el Unchanged Estado de forma predeterminada, pero vea a continuación los casos en los que se utilizará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Unchanged Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que solo se inserten nuevas entidades. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Unchanged .

Use State para establecer el estado de una sola entidad.

AttachRange(Object[])

Comienza el seguimiento de las entidades y entradas dadas accesibles desde las entidades dadas usando el Unchanged Estado de forma predeterminada, pero vea a continuación los casos en los que se utilizará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Unchanged Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que solo se inserten nuevas entidades. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Unchanged .

Use State para establecer el estado de una sola entidad.

Dispose()

Libera los recursos asignados para este contexto.

DisposeAsync()

Libera los recursos asignados para este contexto.

Entry(Object)

Obtiene un EntityEntry para la entidad especificada. La entrada proporciona acceso a la información de seguimiento de cambios y a las operaciones de la entidad.

Se puede llamar a este método en una entidad de la que no se realiza el seguimiento. Después, puede establecer la State propiedad en la entrada devuelta para que el contexto empiece a realizar el seguimiento de la entidad en el estado especificado.

Entry<TEntity>(TEntity)

Obtiene un EntityEntry<TEntity> para la entidad especificada. La entrada proporciona acceso a la información de seguimiento de cambios y a las operaciones de la entidad.

Find(Type, Object[])

Busca una entidad con los valores de clave principal determinados. Si el contexto realiza un seguimiento de una entidad con los valores de clave principal determinados, se devuelve inmediatamente sin realizar una solicitud a la base de datos. De lo contrario, se realiza una consulta a la base de datos para una entidad con los valores de clave principal especificados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad, se devuelve NULL.

Find<TEntity>(Object[])

Busca una entidad con los valores de clave principal determinados. Si el contexto realiza un seguimiento de una entidad con los valores de clave principal determinados, se devuelve inmediatamente sin realizar una solicitud a la base de datos. De lo contrario, se realiza una consulta a la base de datos para una entidad con los valores de clave principal especificados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad, se devuelve NULL.

FindAsync(Type, Object[])

Busca una entidad con los valores de clave principal determinados. Si el contexto realiza un seguimiento de una entidad con los valores de clave principal determinados, se devuelve inmediatamente sin realizar una solicitud a la base de datos. De lo contrario, se realiza una consulta a la base de datos para una entidad con los valores de clave principal especificados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad, se devuelve NULL.

FindAsync(Type, Object[], CancellationToken)

Busca una entidad con los valores de clave principal determinados. Si el contexto realiza un seguimiento de una entidad con los valores de clave principal determinados, se devuelve inmediatamente sin realizar una solicitud a la base de datos. De lo contrario, se realiza una consulta a la base de datos para una entidad con los valores de clave principal especificados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad, se devuelve NULL.

FindAsync<TEntity>(Object[])

Busca una entidad con los valores de clave principal determinados. Si el contexto realiza un seguimiento de una entidad con los valores de clave principal determinados, se devuelve inmediatamente sin realizar una solicitud a la base de datos. De lo contrario, se realiza una consulta a la base de datos para una entidad con los valores de clave principal especificados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad, se devuelve NULL.

FindAsync<TEntity>(Object[], CancellationToken)

Busca una entidad con los valores de clave principal determinados. Si el contexto realiza un seguimiento de una entidad con los valores de clave principal determinados, se devuelve inmediatamente sin realizar una solicitud a la base de datos. De lo contrario, se realiza una consulta a la base de datos para una entidad con los valores de clave principal especificados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad, se devuelve NULL.

FromExpression<TResult>(Expression<Func<IQueryable<TResult>>>)

Crea una consulta para la expresión de consulta dada.

OnConfiguring(DbContextOptionsBuilder)

Invalide este método para configurar la base de datos (y otras opciones) que se usarán para este contexto. Se llama a este método para cada instancia del contexto que se crea. La implementación base no hace nada.

En situaciones en las que una instancia de DbContextOptions puede o no haberse pasado al constructor, puede usar IsConfigured para determinar si las opciones ya se han establecido y omitir parte o toda la lógica de OnConfiguring(DbContextOptionsBuilder) .

OnModelCreating(ModelBuilder)

Invalide este método para configurar más detalladamente el modelo descubierto por la Convención de los tipos de entidad expuestos en DbSet<TEntity> las propiedades en el contexto derivado. El modelo resultante se puede almacenar en caché y volver a usar para las instancias posteriores del contexto derivado.

Query<TQuery>()
Obsoleto.

Crea un DbSet<TEntity> que se puede utilizar para consultar instancias de TQuery .

Remove(Object)

Comienza el seguimiento de la entidad especificada en el Deleted Estado de modo que se quitará de la base de datos cuando SaveChanges() se llame a.

Remove<TEntity>(TEntity)

Comienza el seguimiento de la entidad especificada en el Deleted Estado de modo que se quitará de la base de datos cuando SaveChanges() se llame a.

RemoveRange(IEnumerable<Object>)

Comienza el seguimiento de la entidad especificada en el Deleted Estado de modo que se quitará de la base de datos cuando SaveChanges() se llame a.

RemoveRange(Object[])

Comienza el seguimiento de la entidad especificada en el Deleted Estado de modo que se quitará de la base de datos cuando SaveChanges() se llame a.

SaveChanges()

Guarda todos los cambios realizados en este contexto en la base de datos.

Este método llamará automáticamente DetectChanges() a para detectar los cambios en las instancias de entidad antes de guardarlos en la base de datos subyacente. Esto puede deshabilitarse a través de AutoDetectChangesEnabled .

SaveChanges(Boolean)

Guarda todos los cambios realizados en este contexto en la base de datos.

Este método llamará automáticamente DetectChanges() a para detectar los cambios en las instancias de entidad antes de guardarlos en la base de datos subyacente. Esto puede deshabilitarse a través de AutoDetectChangesEnabled .

SaveChangesAsync(Boolean, CancellationToken)

Guarda todos los cambios realizados en este contexto en la base de datos.

Este método llamará automáticamente DetectChanges() a para detectar los cambios en las instancias de entidad antes de guardarlos en la base de datos subyacente. Esto puede deshabilitarse a través de AutoDetectChangesEnabled .

No se admiten varias operaciones activas en la misma instancia de contexto. Use ' Await ' para asegurarse de que las operaciones asincrónicas se hayan completado antes de llamar a otro método en este contexto.

SaveChangesAsync(CancellationToken)

Guarda todos los cambios realizados en este contexto en la base de datos.

Este método llamará automáticamente DetectChanges() a para detectar los cambios en las instancias de entidad antes de guardarlos en la base de datos subyacente. Esto puede deshabilitarse a través de AutoDetectChangesEnabled .

No se admiten varias operaciones activas en la misma instancia de contexto. Use ' Await ' para asegurarse de que las operaciones asincrónicas se hayan completado antes de llamar a otro método en este contexto.

Set<TEntity>()

Crea un DbSet<TEntity> que se puede utilizar para consultar y guardar instancias de TEntity .

Set<TEntity>(String)

Crea un DbSet<TEntity> que se puede utilizar para consultar y guardar instancias de TEntity .

Update(Object)

Comienza el seguimiento de la entidad y las entradas a las que se puede obtener acceso desde la entidad dada mediante el Modified Estado de forma predeterminada, pero vea a continuación los casos en los que se usará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Modified Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que se inserten nuevas entidades, mientras que las entidades existentes se actualizarán. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Modified .

Use State para establecer el estado de una sola entidad.

Update<TEntity>(TEntity)

Comienza el seguimiento de la entidad y las entradas a las que se puede obtener acceso desde la entidad dada mediante el Modified Estado de forma predeterminada, pero vea a continuación los casos en los que se usará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Modified Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que se inserten nuevas entidades, mientras que las entidades existentes se actualizarán. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Modified .

Use State para establecer el estado de una sola entidad.

UpdateRange(IEnumerable<Object>)

Comienza el seguimiento de las entidades y entradas dadas accesibles desde las entidades dadas usando el Modified Estado de forma predeterminada, pero vea a continuación los casos en los que se utilizará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Modified Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que se inserten nuevas entidades, mientras que las entidades existentes se actualizarán. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Modified .

Use State para establecer el estado de una sola entidad.

UpdateRange(Object[])

Comienza el seguimiento de las entidades y entradas dadas accesibles desde las entidades dadas usando el Modified Estado de forma predeterminada, pero vea a continuación los casos en los que se utilizará un estado diferente.

Por lo general, no se realizará ninguna interacción con la base de datos hasta que SaveChanges() se llame a.

Se realizará una búsqueda recursiva de las propiedades de navegación para buscar entidades accesibles en las que no se esté realizando el seguimiento en el contexto. El contexto realizará el seguimiento de todas las entidades encontradas.

En el caso de los tipos de entidad con claves generadas, si una entidad tiene establecido el valor de clave principal, se realizará un seguimiento en el Modified Estado. Si no se establece el valor de la clave principal, se realizará un seguimiento en el Added Estado. Esto ayuda a garantizar que se inserten nuevas entidades, mientras que las entidades existentes se actualizarán. Se considera que una entidad tiene establecido el valor de la clave principal si la propiedad de la clave principal se establece en algo distinto del valor predeterminado de CLR para el tipo de propiedad.

En el caso de los tipos de entidad sin claves generadas, el conjunto de Estados siempre es Modified .

Use State para establecer el estado de una sola entidad.

Eventos

SaveChangesFailed

Evento que se desencadena si una llamada a SaveChanges o SaveChangesAsync produce un error con una excepción.

SavedChanges

Un evento se desencadenó al final de una llamada a SaveChanges o SaveChangesAsync

SavingChanges

Un evento se desencadenó al principio de una llamada a SaveChanges o SaveChangesAsync

Implementaciones de interfaz explícitas

IDbContextDependencies.ChangeDetector

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextDependencies.EntityFinderFactory

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextDependencies.EntityFinderSource

Esta API es compatible con la infraestructura de Entity Framework Core y no está diseñada para utilizarse directamente desde el código. Esta API puede cambiar o quitarse en versiones futuras.

IDbContextDependencies.EntityGraphAttacher

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextDependencies.InfrastructureLogger

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextDependencies.QueryProvider

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextDependencies.QuerySource

Esta API es compatible con la infraestructura de Entity Framework Core y no está diseñada para utilizarse directamente desde el código. Esta API puede cambiar o quitarse en versiones futuras.

IDbContextDependencies.SetSource

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextDependencies.StateManager

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextDependencies.UpdateLogger

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextPoolable.ClearLease()

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextPoolable.ResetState()
IDbContextPoolable.Resurrect(DbContextPoolConfigurationSnapshot)

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextPoolable.SetLease(DbContextLease)

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextPoolable.SetPool(IDbContextPool)

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbContextPoolable.SnapshotConfiguration()

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbQueryCache.GetOrAddQuery(IDbQuerySource, Type)

Esta API es compatible con la infraestructura de Entity Framework Core y no está diseñada para utilizarse directamente desde el código. Esta API puede cambiar o quitarse en versiones futuras.

IDbSetCache.GetOrAddSet(IDbSetSource, String, Type)

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IDbSetCache.GetOrAddSet(IDbSetSource, Type)

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IInfrastructure<IServiceProvider>.Instance

Obtiene el ámbito IServiceProvider que se utiliza para resolver los servicios.

Esta propiedad está pensada para que la usen los métodos de extensión que necesitan hacer uso de servicios que no se exponen directamente en la superficie de la API pública.

IResettableService.ResetState()

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

IResettableService.ResetStateAsync(CancellationToken)

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con sumo cuidado y saber que esto puede dar lugar a errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

Métodos de extensión

GetInfrastructure<T>(IInfrastructure<T>)

Obtiene el valor de una propiedad que se oculta mediante IInfrastructure<T> .

Este método lo usan normalmente los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de la aplicación.

IInfrastructure<T> se usa para ocultar propiedades que no están diseñadas para usarse en el código de la aplicación, pero que se pueden usar en métodos de extensión escritos por proveedores de bases de datos, etc.

CreateProxy(DbContext, Type, Object[])

Crea una instancia de proxy para un tipo de entidad si se ha activado la creación del proxy.

CreateProxy<TEntity>(DbContext, Action<TEntity>, Object[])

Crea una instancia de proxy para un tipo de entidad si se ha activado la creación del proxy.

CreateProxy<TEntity>(DbContext, Object[])

Crea una instancia de proxy para un tipo de entidad si se ha activado la creación del proxy.

Se aplica a