Condividi tramite


DbContextOptionsBuilder Classe

Definizione

Fornisce una semplice superficie API per la configurazione di DbContextOptions. I database (e altre estensioni) definiscono in genere metodi di estensione in questo oggetto che consentono di configurare la connessione al database (e altre opzioni) da usare per un contesto.

public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
    interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
Ereditarietà
DbContextOptionsBuilder
Derivato
Implementazioni

Commenti

È possibile usare DbContextOptionsBuilder per configurare un contesto eseguendo l'override OnConfiguring(DbContextOptionsBuilder) o creando un DbContextOptions oggetto esternamente e passandolo al costruttore di contesto.

Per altre informazioni ed esempi, vedere Uso di DbContextOptions .

Costruttori

DbContextOptionsBuilder()

Inizializza una nuova istanza della DbContextOptionsBuilder classe senza opzioni impostate.

DbContextOptionsBuilder(DbContextOptions)

Inizializza una nuova istanza della DbContextOptionsBuilder classe per configurare ulteriormente un determinato DbContextOptionsoggetto .

Proprietà

IsConfigured

Ottiene un valore che indica se sono state configurate le opzioni.

Options

Ottiene le opzioni configurate.

Metodi

AddInterceptors(IEnumerable<IInterceptor>)

Aggiunge IInterceptor istanze a quelle registrate nel contesto.

AddInterceptors(IInterceptor[])

Aggiunge IInterceptor istanze a quelle registrate nel contesto.

ConfigureLoggingCacheTime(TimeSpan)

Configura per quanto tempo EF Core memorizza nella cache la configurazione della registrazione in determinati percorsi ad alte prestazioni. Ciò rende ef Core ignorare i controlli di registrazione potenzialmente costosi, ma significa che le modifiche alla registrazione del runtime (ad esempio, la registrazione di un nuovo elemento DiagnosticListener potrebbe non essere presa in considerazione immediatamente).

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configura il comportamento di runtime degli avvisi generati da Entity Framework. È possibile impostare un comportamento e un comportamento predefiniti per ogni tipo di avviso.

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configura il comportamento di runtime degli avvisi generati da Entity Framework. È possibile impostare un comportamento e un comportamento predefiniti per ogni tipo di avviso.

EnableDetailedErrors(Boolean)

Consente errori dettagliati durante la gestione delle eccezioni del valore dei dati che si verificano durante l'elaborazione dei risultati delle query di archiviazione. Tali errori si verificano più spesso a causa di una configurazione errata delle proprietà dell'entità. Ad esempio, se una proprietà è configurata per essere di tipo 'int', ma i dati sottostanti nell'archivio sono effettivamente di tipo 'string', verrà generata un'eccezione in fase di esecuzione durante l'elaborazione del valore dei dati. Quando questa opzione è abilitata e viene rilevato un errore di dati, l'eccezione generata includerà i dettagli della proprietà di entità specifica che ha generato l'errore.

EnableSensitiveDataLogging()

Consente di includere i dati dell'applicazione nei messaggi di eccezione, nella registrazione e così via. Ciò può includere i valori assegnati alle proprietà delle istanze dell'entità, i valori dei parametri per i comandi inviati al database e altri dati. È consigliabile abilitare questo flag solo se sono disponibili le misure di sicurezza appropriate in base alla riservatezza dei dati.

EnableSensitiveDataLogging(Boolean)

Consente di includere i dati dell'applicazione nei messaggi di eccezione, nella registrazione e così via. Ciò può includere i valori assegnati alle proprietà delle istanze dell'entità, i valori dei parametri per i comandi inviati al database e altri dati. È consigliabile abilitare questo flag solo se sono disponibili le misure di sicurezza appropriate in base alla riservatezza dei dati.

EnableServiceProviderCaching(Boolean)

Abilita o disabilita la memorizzazione nella cache dei provider di servizi interni. La disabilitazione della memorizzazione nella cache può influire notevolmente sulle prestazioni e deve essere usata solo negli scenari di test che creano molti provider di servizi per l'isolamento dei test.

EnableThreadSafetyChecks(Boolean)

Disabilita il rilevamento della concorrenza, che rileva molti casi di utilizzo simultaneo errato di un'istanza DbContext e genera un'eccezione informativa. Ciò fornisce un miglioramento delle prestazioni secondario, ma se un'istanza DbContext viene usata simultaneamente, il comportamento non verrà definito e il programma potrebbe non riuscire in modi imprevedibili.

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

Registra gli eventi filtrati da un delegato di filtro personalizzato fornito. Il filtro deve restituire true per registrare un messaggio o false per filtrarlo dal log.

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

Registra gli eventi specificati usando l'azione specificata. Ad esempio, usare optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) per registrare l'evento ContextInitialized nella console.

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

Registra tutti gli eventi nelle categorie specificate usando l'azione fornita. Ad esempio, usare optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) per registrare tutti gli eventi nella DbLoggerCategory.Infrastructure categoria.

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

Log che usano l'azione fornita. Ad esempio, usare optionsBuilder.LogTo(Console.WriteLine) per accedere alla console.

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

Registra gli eventi in un delegato del logger personalizzato filtrato da un delegato di filtro personalizzato. Il filtro deve restituire true per registrare un messaggio o false per filtrarlo dal log.

ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

Sostituisce l'implementazione interna di Entity Framework di un'implementazione specifica di un contratto di servizio con un'implementazione diversa.

ReplaceService<TService,TImplementation>()

Sostituisce tutte le implementazioni interne di Entity Framework di un contratto di servizio con un'implementazione diversa.

UseApplicationServiceProvider(IServiceProvider)

Imposta l'oggetto IServiceProvider da cui verranno ottenuti i servizi applicazione. Questa operazione viene eseguita automaticamente quando si usa "AddDbContext" o "AddDbContextPool", quindi è raro che questo metodo debba essere chiamato.

UseInternalServiceProvider(IServiceProvider)

Imposta l'oggetto IServiceProvider da cui il contesto deve risolvere tutti i relativi servizi. EF creerà e gestirà un provider di servizi se non è specificato alcun elemento.

UseLoggerFactory(ILoggerFactory)

Imposta l'oggetto ILoggerFactory che verrà usato per creare ILogger istanze per la registrazione eseguita da questo contesto.

UseMemoryCache(IMemoryCache)

Imposta l'oggetto IMemoryCache da utilizzare per la memorizzazione nella cache delle query da questo contesto.

UseModel(IModel)

Imposta il modello da usare per il contesto. Se il modello è impostato, OnModelCreating(ModelBuilder) non verrà eseguito.

UseQueryTrackingBehavior(QueryTrackingBehavior)

Imposta il comportamento di rilevamento per le query LINQ eseguite nel contesto. La disabilitazione del rilevamento delle modifiche è utile per scenari di sola lettura perché evita il sovraccarico della configurazione del rilevamento delle modifiche per ogni istanza di entità. Non è consigliabile disabilitare il rilevamento delle modifiche se si desidera modificare le istanze di entità e rendere persistenti tali modifiche al database usando SaveChanges().

UseRootApplicationServiceProvider()

Risolve la radice IServiceProvider dal provider di servizi applicazione con ambito. Il provider radice può essere usato per ottenere servizi applicazione Singleton dai servizi interni singleton.

UseRootApplicationServiceProvider(IServiceProvider)

Imposta la radice IServiceProvider da cui è possibile ottenere i servizi applicazione singleton dai servizi interni singleton.

Implementazioni dell'interfaccia esplicita

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

Aggiunge l'estensione specificata alle opzioni. Se esiste già un'estensione esistente dello stesso tipo, verrà sostituita.

Metodi di estensione

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

Configura il contesto per connettersi a un database di Azure Cosmos.

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

Configura il contesto per connettersi a un database di Azure Cosmos.

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

Configura il contesto per connettersi a un database di Azure Cosmos.

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

Configura il contesto per connettersi al database condiviso in memoria legacy. Questo metodo è obsoleto. Usare invece UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>).

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

Configura il contesto per connettersi a un database denominato in memoria. Il database in memoria viene condiviso ovunque venga usato lo stesso nome, ma solo per un determinato provider di servizi.

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

Configura il contesto per connettersi a un database denominato in memoria. Il database in memoria viene condiviso ovunque venga usato lo stesso nome, ma solo per un determinato provider di servizi. Per usare lo stesso database in memoria tra provider di servizi, chiamare UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) il passaggio di una InMemoryDatabaseRoot condivisione in cui eseguire la radice del database.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Attiva la creazione dei proxy di rilevamento delle modifiche.

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Attiva la creazione di proxy di caricamento lazy.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Attiva la creazione di proxy di caricamento lazy.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Configura il contesto per connettersi a un database SQLite, ma senza inizialmente impostare alcuna DbConnection o stringa di connessione.

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Configura il contesto per connettersi a un database SQLite.

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

Configura il contesto per connettersi a un database SQLite.

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

Configura il contesto per connettersi a un database SQLite.

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Configura il contesto per connettersi a un database di microsoft SQL Server, ma senza inizialmente impostare alcuna DbConnection o stringa di connessione.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Configura il contesto per connettersi a un database di SQL Server Microsoft.

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

Configura il contesto per connettersi a un database di SQL Server Microsoft.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Configura il contesto per connettersi a un database di SQL Server Microsoft.

Si applica a