DbContextOptionsBuilder Clase

Definición

Proporciona una superficie de API sencilla para configurar DbContextOptions. Las bases de datos (y otras extensiones) suelen definir métodos de extensión en este objeto que permiten configurar la conexión de base de datos (y otras opciones) que se usarán para un contexto.

public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
    interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
Herencia
DbContextOptionsBuilder
Derivado
Implementaciones

Comentarios

Puede usar DbContextOptionsBuilder para configurar un contexto reemplazando OnConfiguring(DbContextOptionsBuilder) o creando un elemento DbContextOptions externamente y pasándolo al constructor de contexto.

Consulte Uso de DbContextOptions para obtener más información y ejemplos.

Constructores

DbContextOptionsBuilder()

Inicializa una nueva instancia de la DbContextOptionsBuilder clase sin ningún conjunto de opciones.

DbContextOptionsBuilder(DbContextOptions)

Inicializa una nueva instancia de la DbContextOptionsBuilder clase para configurar aún más un determinado DbContextOptions.

Propiedades

IsConfigured

Obtiene un valor que indica si se han configurado opciones.

Options

Obtiene las opciones que se configuran.

Métodos

AddInterceptors(IEnumerable<IInterceptor>)

Agrega IInterceptor instancias a las registradas en el contexto.

AddInterceptors(IInterceptor[])

Agrega IInterceptor instancias a las registradas en el contexto.

ConfigureLoggingCacheTime(TimeSpan)

Configura cuánto tiempo EF Core almacenará en caché la configuración del registro en determinadas rutas de acceso de alto rendimiento. Esto hace que EF Core omita las comprobaciones de registro potencialmente costosas, pero significa que los cambios de registro en tiempo de ejecución (por ejemplo, el registro de un nuevo DiagnosticListener puede no tenerse en cuenta inmediatamente).

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configura el comportamiento en tiempo de ejecución de las advertencias generadas por Entity Framework. Puede establecer un comportamiento y comportamientos predeterminados para cada tipo de advertencia.

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configura el comportamiento en tiempo de ejecución de las advertencias generadas por Entity Framework. Puede establecer un comportamiento y comportamientos predeterminados para cada tipo de advertencia.

EnableDetailedErrors(Boolean)

Habilita errores detallados al controlar excepciones de valor de datos que se producen durante el procesamiento de los resultados de la consulta del almacén. Estos errores suelen producirse debido a errores de configuración de las propiedades de entidad. Por ejemplo, si una propiedad está configurada para ser de tipo 'int', pero los datos subyacentes del almacén son realmente de tipo 'string', se generará una excepción en tiempo de ejecución durante el procesamiento del valor de datos. Cuando se habilita esta opción y se encuentra un error de datos, la excepción generada incluirá detalles de la propiedad de entidad específica que generó el error.

EnableSensitiveDataLogging()

Permite que los datos de la aplicación se incluyan en mensajes de excepción, registro, etc. Esto puede incluir los valores asignados a las propiedades de las instancias de entidad, los valores de parámetro para los comandos que se envían a la base de datos y otros datos de este tipo. Solo debe habilitar esta marca si tiene las medidas de seguridad adecuadas en función de la confidencialidad de estos datos.

EnableSensitiveDataLogging(Boolean)

Permite que los datos de la aplicación se incluyan en mensajes de excepción, registro, etc. Esto puede incluir los valores asignados a las propiedades de las instancias de entidad, los valores de parámetro para los comandos que se envían a la base de datos y otros datos de este tipo. Solo debe habilitar esta marca si tiene las medidas de seguridad adecuadas en función de la confidencialidad de estos datos.

EnableServiceProviderCaching(Boolean)

Habilita o deshabilita el almacenamiento en caché de proveedores de servicios internos. La deshabilitación del almacenamiento en caché puede afectar enormemente al rendimiento y solo debe usarse en escenarios de prueba que compilan muchos proveedores de servicios para el aislamiento de prueba.

EnableThreadSafetyChecks(Boolean)

Deshabilita la detección de simultaneidad, que detecta muchos casos de uso simultáneo erróneo de una DbContext instancia y hace que se produzca una excepción informativa. Esto proporciona una mejora de rendimiento menor, pero si se usa una DbContext instancia simultáneamente, el comportamiento no se definirá y el programa puede producir errores de maneras impredecibles.

LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>)

Registra eventos filtrados por un delegado de filtro personalizado proporcionado. El filtro debe devolver true para registrar un mensaje o false para filtrarlo fuera del registro.

LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>)

Registra los eventos especificados mediante la acción proporcionada. Por ejemplo, use optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) para registrar el ContextInitialized evento en la consola.

LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Registra todos los eventos de las categorías especificadas mediante la acción proporcionada. Por ejemplo, use optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) para registrar todos los eventos de la DbLoggerCategory.Infrastructure categoría.

LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Registra con la acción proporcionada. Por ejemplo, use optionsBuilder.LogTo(Console.WriteLine) para iniciar sesión en la consola.

LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>)

Registra eventos en un delegado de registrador personalizado filtrado por un delegado de filtro personalizado. El filtro debe devolver true para registrar un mensaje o false para filtrarlo fuera del registro.

ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

Reemplaza la implementación interna de Entity Framework de una implementación específica de un contrato de servicio por una implementación diferente.

ReplaceService<TService,TImplementation>()

Reemplaza todas las implementaciones internas de Entity Framework de un contrato de servicio por una implementación diferente.

UseApplicationServiceProvider(IServiceProvider)

Establece a partir del IServiceProvider cual se obtendrán los servicios de aplicación. Esto se hace automáticamente cuando se usa "AddDbContext" o "AddDbContextPool", por lo que es raro que se deba llamar a este método.

UseInternalServiceProvider(IServiceProvider)

Establece el objeto desde IServiceProvider el que el contexto debe resolver todos sus servicios. EF creará y administrará un proveedor de servicios si no se especifica ninguno.

UseLoggerFactory(ILoggerFactory)

Establece el ILoggerFactory objeto que se usará para crear ILogger instancias para el registro realizado por este contexto.

UseMemoryCache(IMemoryCache)

Establece el objeto que se va a usar para el IMemoryCache almacenamiento en caché de consultas en este contexto.

UseModel(IModel)

Establece el modelo que se va a usar para el contexto. Si se establece el modelo, OnModelCreating(ModelBuilder) no se ejecutará.

UseQueryTrackingBehavior(QueryTrackingBehavior)

Establece el comportamiento de seguimiento de las consultas LINQ que se ejecutan en el contexto. Deshabilitar el seguimiento de cambios es útil para escenarios de solo lectura, ya que evita la sobrecarga de configurar el seguimiento de cambios para cada instancia de entidad. No debe deshabilitar el seguimiento de cambios si desea manipular instancias de entidad y conservar esos cambios en la base de datos mediante SaveChanges().

UseRootApplicationServiceProvider()

Resuelve la raíz IServiceProvider desde el proveedor de servicios de aplicaciones con ámbito. El proveedor raíz se puede usar para obtener servicios de aplicación singleton de servicios internos singleton.

UseRootApplicationServiceProvider(IServiceProvider)

Establece la raíz IServiceProvider desde la que se pueden obtener los servicios de aplicación singleton de los servicios internos singleton.

Implementaciones de interfaz explícitas

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

Agrega la extensión dada a las opciones. Si ya existe una extensión del mismo tipo, se reemplazará.

Métodos de extensión

UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de Azure Cosmos.

UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de Azure Cosmos.

UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de Azure Cosmos.

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
Obsoletos.
Obsoletos.

Configura el contexto para conectarse a la base de datos compartida heredada en memoria. Este método está obsoleto. Utilice UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) en su lugar.

UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos con nombre en memoria. La base de datos en memoria se comparte en cualquier lugar donde se use el mismo nombre, pero solo para un proveedor de servicios determinado.

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos con nombre en memoria. La base de datos en memoria se comparte en cualquier lugar donde se use el mismo nombre, pero solo para un proveedor de servicios determinado. Para usar la misma base de datos en memoria en todos los proveedores de servicios, llame UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) a pasando un compartido InMemoryDatabaseRoot en el que se va a raíz la base de datos.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Activa la creación de servidores proxy de seguimiento de cambios.

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Activa la creación de servidores proxy de carga diferida.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Activa la creación de servidores proxy de carga diferida.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de SQLite, pero sin establecer inicialmente ninguna DbConnection o cadena de conexión.

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de SQLite.

UseSqlite(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de SQLite.

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de SQLite.

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de Microsoft SQL Server, pero sin establecer inicialmente ninguna DbConnection o cadena de conexión.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Configura el contexto para conectarse a una base de datos de Microsoft SQL Server.

Se aplica a