DbContextOptionsBuilder<TContext> Classe

Définition

Fournit une surface d’API simple pour la configuration DbContextOptions<TContext>de . Les bases de données (et d’autres extensions) définissent généralement des méthodes d’extension sur cet objet qui vous permettent de configurer la connexion de base de données (et d’autres options) à utiliser pour un contexte.

public class DbContextOptionsBuilder<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
    inherit DbContextOptionsBuilder
Public Class DbContextOptionsBuilder(Of TContext)
Inherits DbContextOptionsBuilder

Paramètres de type

TContext

Type de contexte à configurer.

Héritage
DbContextOptionsBuilder<TContext>

Remarques

Vous pouvez utiliser DbContextOptionsBuilder pour configurer un contexte en remplaçant ou en OnConfiguring(DbContextOptionsBuilder) créant un DbContextOptions en externe et en le transmettant au constructeur de contexte.

Pour plus d’informations et d’exemples, consultez Utilisation de DbContextOptions .

Constructeurs

DbContextOptionsBuilder<TContext>()

Initialise une nouvelle instance de la DbContextOptionsBuilder<TContext> classe sans aucune option définie.

DbContextOptionsBuilder<TContext>(DbContextOptions<TContext>)

Initialise une nouvelle instance de la DbContextOptionsBuilder<TContext> classe pour configurer davantage un donnéDbContextOptions.

Propriétés

IsConfigured

Obtient une valeur indiquant si des options ont été configurées.

(Hérité de DbContextOptionsBuilder)
Options

Obtient les options en cours de configuration.

Méthodes

AddInterceptors(IEnumerable<IInterceptor>)

Ajoute IInterceptor des instances à celles inscrites sur le contexte.

AddInterceptors(IEnumerable<IInterceptor>)

Ajoute IInterceptor des instances à celles inscrites sur le contexte.

(Hérité de DbContextOptionsBuilder)
AddInterceptors(IInterceptor[])

Ajoute IInterceptor des instances à celles inscrites sur le contexte.

AddInterceptors(IInterceptor[])

Ajoute IInterceptor des instances à celles inscrites sur le contexte.

(Hérité de DbContextOptionsBuilder)
ConfigureLoggingCacheTime(TimeSpan)

Configure la durée pendant laquelle EF Core met en cache la configuration de journalisation dans certains chemins hautes performances. Cela fait qu’EF Core ignore les vérifications de journalisation potentiellement coûteuses, mais signifie que les modifications de journalisation du runtime (par exemple, l’inscription d’un nouveau DiagnosticListener peut ne pas être prise en compte immédiatement).

ConfigureLoggingCacheTime(TimeSpan)

Configure la durée pendant laquelle EF Core met en cache la configuration de journalisation dans certains chemins hautes performances. Cela fait qu’EF Core ignore les vérifications de journalisation potentiellement coûteuses, mais signifie que les modifications de journalisation du runtime (par exemple, l’inscription d’un nouveau DiagnosticListener peut ne pas être prise en compte immédiatement).

(Hérité de DbContextOptionsBuilder)
ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configure le comportement d’exécution des avertissements générés par Entity Framework. Vous pouvez définir un comportement et des comportements par défaut pour chaque type d’avertissement.

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configure le comportement d’exécution des avertissements générés par Entity Framework. Vous pouvez définir un comportement et des comportements par défaut pour chaque type d’avertissement.

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configure le comportement d’exécution des avertissements générés par Entity Framework. Vous pouvez définir un comportement et des comportements par défaut pour chaque type d’avertissement.

(Hérité de DbContextOptionsBuilder)
ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configure le comportement d’exécution des avertissements générés par Entity Framework. Vous pouvez définir un comportement et des comportements par défaut pour chaque type d’avertissement.

(Hérité de DbContextOptionsBuilder)
EnableDetailedErrors(Boolean)

Active les erreurs détaillées lors de la gestion des exceptions de valeur de données qui se produisent pendant le traitement des résultats de la requête de magasin. Ces erreurs se produisent le plus souvent en raison d’une configuration incorrecte des propriétés d’entité. Par exemple, si une propriété est configurée pour être de type « int », mais que les données sous-jacentes dans le magasin sont en fait de type « string », une exception est générée au moment de l’exécution pendant le traitement de la valeur de données. Lorsque cette option est activée et qu’une erreur de données est rencontrée, l’exception générée inclut les détails de la propriété d’entité spécifique qui a généré l’erreur.

EnableDetailedErrors(Boolean)

Active des erreurs détaillées lors de la gestion des exceptions de valeur de données qui se produisent pendant le traitement des résultats de la requête de magasin. Ces erreurs se produisent le plus souvent en raison d’une configuration incorrecte des propriétés d’entité. Par exemple, si une propriété est configurée pour être de type « int », mais que les données sous-jacentes dans le magasin sont en fait de type « string », une exception est générée au moment de l’exécution pendant le traitement de la valeur de données. Lorsque cette option est activée et qu’une erreur de données est rencontrée, l’exception générée inclut les détails de la propriété d’entité spécifique qui a généré l’erreur.

(Hérité de DbContextOptionsBuilder)
EnableSensitiveDataLogging()

Permet aux données d’application d’être incluses dans les messages d’exception, la journalisation, etc. Cela peut inclure les valeurs affectées aux propriétés de vos instances d’entité, les valeurs de paramètres pour les commandes envoyées à la base de données et d’autres données de ce type. Vous ne devez activer cet indicateur que si vous disposez des mesures de sécurité appropriées en fonction de la sensibilité de ces données.

EnableSensitiveDataLogging()

Permet aux données d’application d’être incluses dans les messages d’exception, la journalisation, etc. Cela peut inclure les valeurs affectées aux propriétés de vos instances d’entité, les valeurs de paramètres pour les commandes envoyées à la base de données et d’autres données de ce type. Vous ne devez activer cet indicateur que si vous disposez des mesures de sécurité appropriées en fonction de la sensibilité de ces données.

(Hérité de DbContextOptionsBuilder)
EnableSensitiveDataLogging(Boolean)

Permet aux données d’application d’être incluses dans les messages d’exception, la journalisation, etc. Cela peut inclure les valeurs affectées aux propriétés de vos instances d’entité, les valeurs de paramètres pour les commandes envoyées à la base de données et d’autres données de ce type. Vous ne devez activer cet indicateur que si vous disposez des mesures de sécurité appropriées en fonction de la sensibilité de ces données.

EnableSensitiveDataLogging(Boolean)

Permet aux données d’application d’être incluses dans les messages d’exception, la journalisation, etc. Cela peut inclure les valeurs affectées aux propriétés de vos instances d’entité, les valeurs de paramètres pour les commandes envoyées à la base de données et d’autres données de ce type. Vous ne devez activer cet indicateur que si vous disposez des mesures de sécurité appropriées en fonction de la sensibilité de ces données.

(Hérité de DbContextOptionsBuilder)
EnableServiceProviderCaching(Boolean)

Active ou désactive la mise en cache des fournisseurs de services internes. La désactivation de la mise en cache peut avoir un impact massif sur les performances et ne doit être utilisée que dans les scénarios de test qui créent de nombreux fournisseurs de services pour l’isolation des tests.

EnableServiceProviderCaching(Boolean)

Active ou désactive la mise en cache des fournisseurs de services internes. La désactivation de la mise en cache peut avoir un impact massif sur les performances et ne doit être utilisée que dans les scénarios de test qui créent de nombreux fournisseurs de services pour l’isolation des tests.

(Hérité de DbContextOptionsBuilder)
EnableThreadSafetyChecks(Boolean)

Désactive la détection d’accès concurrentiel, qui détecte de nombreux cas d’utilisation simultanée erronée d’un DbContext instance et provoque la levée d’une exception informative. Cela permet une amélioration mineure des performances, mais si une DbContext instance est utilisée simultanément, le comportement n’est pas défini et le programme peut échouer de manière imprévisible.

EnableThreadSafetyChecks(Boolean)

Désactive la détection d’accès concurrentiel, qui détecte de nombreux cas d’utilisation simultanée erronée d’un DbContext instance et provoque la levée d’une exception informative. Cela permet une amélioration mineure des performances, mais si une DbContext instance est utilisée simultanément, le comportement n’est pas défini et le programme peut échouer de manière imprévisible.

(Hérité de DbContextOptionsBuilder)
LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>)

Journalise les événements filtrés par un délégué de filtre personnalisé fourni. Le filtre doit retourner true pour journaliser un message, ou false pour le filtrer hors du journal.

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

Journalise les événements filtrés par un délégué de filtre personnalisé fourni. Le filtre doit retourner true pour journaliser un message, ou false pour le filtrer hors du journal.

(Hérité de DbContextOptionsBuilder)
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>)

Journalise les événements spécifiés à l’aide de l’action fournie. Par exemple, utilisez optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) pour journaliser l’événement ContextInitialized dans la console.

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

Journalise les événements spécifiés à l’aide de l’action fournie. Par exemple, utilisez optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) pour journaliser l’événement ContextInitialized dans la console.

(Hérité de DbContextOptionsBuilder)
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Journalise tous les événements dans les catégories spécifiées à l’aide de l’action fournie. Par exemple, utilisez optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) pour journaliser tous les événements de la DbLoggerCategory.Infrastructure catégorie .

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

Journalise tous les événements dans les catégories spécifiées à l’aide de l’action fournie. Par exemple, utilisez optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) pour journaliser tous les événements de la DbLoggerCategory.Infrastructure catégorie .

(Hérité de DbContextOptionsBuilder)
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Journaux à l’aide de l’action fournie. Par exemple, utilisez pour vous optionsBuilder.LogTo(Console.WriteLine) connecter à la console.

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

Journaux à l’aide de l’action fournie. Par exemple, utilisez pour vous optionsBuilder.LogTo(Console.WriteLine) connecter à la console.

(Hérité de DbContextOptionsBuilder)
LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>)

Journalise les événements dans un délégué d’enregistreur d’événements personnalisé filtré par un délégué de filtre personnalisé. Le filtre doit retourner true pour journaliser un message, ou false pour le filtrer hors du journal.

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

Journalise les événements dans un délégué d’enregistreur d’événements personnalisé filtré par un délégué de filtre personnalisé. Le filtre doit retourner true pour journaliser un message, ou false pour le filtrer hors du journal.

(Hérité de DbContextOptionsBuilder)
ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

Remplace l’implémentation Entity Framework interne d’une implémentation spécifique d’un contrat de service par une implémentation différente.

ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

Remplace l’implémentation Entity Framework interne d’une implémentation spécifique d’un contrat de service par une implémentation différente.

(Hérité de DbContextOptionsBuilder)
ReplaceService<TService,TImplementation>()

Remplace toutes les implémentations Entity Framework internes d’un contrat de service par une implémentation différente.

ReplaceService<TService,TImplementation>()

Remplace toutes les implémentations Entity Framework internes d’un contrat de service par une implémentation différente.

(Hérité de DbContextOptionsBuilder)
UseApplicationServiceProvider(IServiceProvider)

Définit le IServiceProvider à partir duquel les services d’application seront obtenus. Cette opération est effectuée automatiquement lors de l’utilisation de « AddDbContext ». Il est donc rare que cette méthode doe être appelée.

UseApplicationServiceProvider(IServiceProvider)

Définit le IServiceProvider à partir duquel les services d’application seront obtenus. Cette opération est effectuée automatiquement lors de l’utilisation de « AddDbContext » ou « AddDbContextPool ». Il est donc rare que cette méthode ait besoin d’être appelée.

(Hérité de DbContextOptionsBuilder)
UseInternalServiceProvider(IServiceProvider)

Définit le IServiceProvider à partir duquel le contexte doit résoudre tous ses services. EF crée et gère un fournisseur de services si aucun n’est spécifié.

UseLoggerFactory(ILoggerFactory)

Définit le ILoggerFactory qui sera utilisé pour créer ILogger des instances pour la journalisation effectuée par ce contexte.

UseMemoryCache(IMemoryCache)

Définit le à utiliser pour la IMemoryCache mise en cache des requêtes par ce contexte.

UseModel(IModel)

Définit le modèle à utiliser pour le contexte. Si le modèle est défini, il OnModelCreating(ModelBuilder) ne sera pas exécuté.

UseQueryTrackingBehavior(QueryTrackingBehavior)

Définit le comportement de suivi pour les requêtes LINQ exécutées par rapport au contexte. La désactivation du suivi des modifications est utile pour les scénarios en lecture seule, car elle évite la surcharge liée à la configuration du suivi des modifications pour chaque entité instance. Vous ne devez pas désactiver le suivi des modifications si vous souhaitez manipuler des instances d’entité et conserver ces modifications dans la base de données à l’aide SaveChanges()de .

UseQueryTrackingBehavior(QueryTrackingBehavior)

Définit le comportement de suivi pour les requêtes LINQ exécutées par rapport au contexte. La désactivation du suivi des modifications est utile pour les scénarios en lecture seule, car elle évite la surcharge liée à la configuration du suivi des modifications pour chaque entité instance. Vous ne devez pas désactiver le suivi des modifications si vous souhaitez manipuler des instances d’entité et conserver ces modifications dans la base de données à l’aide SaveChanges()de .

(Hérité de DbContextOptionsBuilder)
UseRootApplicationServiceProvider()

Résout la racine IServiceProvider à partir du fournisseur de services d’application délimité. Le fournisseur racine peut être utilisé pour obtenir des services d’application singleton à partir de services internes singleton.

UseRootApplicationServiceProvider()

Résout la racine IServiceProvider à partir du fournisseur de services d’application délimité. Le fournisseur racine peut être utilisé pour obtenir des services d’application singleton à partir de services internes singleton.

(Hérité de DbContextOptionsBuilder)
UseRootApplicationServiceProvider(IServiceProvider)

Définit la racine IServiceProvider à partir de laquelle les services d’application singleton peuvent être obtenus à partir des services internes singleton.

UseRootApplicationServiceProvider(IServiceProvider)

Définit la racine IServiceProvider à partir de laquelle les services d’application singleton peuvent être obtenus à partir des services internes singleton.

(Hérité de DbContextOptionsBuilder)

Implémentations d’interfaces explicites

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

Ajoute l’extension donnée aux options. Si une extension existante du même type existe déjà, elle est remplacée.

(Hérité de DbContextOptionsBuilder)

Méthodes d’extension

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

Configure le contexte pour se connecter à une base de données Azure Cosmos.

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

Configure le contexte pour se connecter à une base de données Azure Cosmos.

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

Configure le contexte pour se connecter à une base de données Azure Cosmos.

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

Configure le contexte pour se connecter à une base de données Azure Cosmos.

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

Configure le contexte pour se connecter à une base de données Azure Cosmos.

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

Configure le contexte pour se connecter à une base de données Azure Cosmos.

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
Obsolète.
Obsolète.

Configure le contexte pour se connecter à la base de données en mémoire partagée héritée. Cette méthode est obsolète. Utilisez UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) à la place.

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

Configure le contexte pour se connecter à une base de données nommée en mémoire. La base de données en mémoire est partagée partout où le même nom est utilisé, mais uniquement pour un fournisseur de services donné.

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données nommée en mémoire. La base de données en mémoire est partagée partout où le même nom est utilisé, mais uniquement pour un fournisseur de services donné. Pour utiliser la même base de données en mémoire entre les fournisseurs de services, appelez UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) le passage d’un partage InMemoryDatabaseRoot sur lequel rooter la base de données.

UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, Action<InMemoryDbContextOptionsBuilder>)
Obsolète.
Obsolète.

Configure le contexte pour se connecter à la base de données en mémoire partagée héritée. Cette méthode est obsolète. Utilisez UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, Action<InMemoryDbContextOptionsBuilder>) à la place.

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

Configure le contexte pour se connecter à une base de données en mémoire. La base de données en mémoire est partagée partout où le même nom est utilisé, mais uniquement pour un fournisseur de services donné.

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

Configure le contexte pour se connecter à une base de données en mémoire. La base de données en mémoire est partagée partout où le même nom est utilisé, mais uniquement pour un fournisseur de services donné. Pour utiliser la même base de données en mémoire entre les fournisseurs de services, appelez UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) le passage d’un partage InMemoryDatabaseRoot sur lequel rooter la base de données.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Active la création de proxys de suivi des modifications.

UseChangeTrackingProxies<TContext>(DbContextOptionsBuilder<TContext>, Boolean, Boolean)

Active la création de proxys de suivi des modifications.

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Active la création de proxys de chargement différé.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Active la création de proxys de chargement différé.

UseLazyLoadingProxies<TContext>(DbContextOptionsBuilder<TContext>, Action<LazyLoadingProxiesOptionsBuilder>)

Active la création de proxys de chargement différé.

UseLazyLoadingProxies<TContext>(DbContextOptionsBuilder<TContext>, Boolean)

Active la création de proxys de chargement différé.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données SQLite, mais sans définir initialement de chaîne de connexionDbConnection.

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données SQLite.

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

Configure le contexte pour se connecter à une base de données SQLite.

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données SQLite.

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, Action<SqliteDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données SQLite, mais sans définir initialement de chaîne de connexionDbConnection.

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

Configure le contexte pour se connecter à une base de données SQLite.

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

Configure le contexte pour se connecter à une base de données SQLite.

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, String, Action<SqliteDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données SQLite.

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données Microsoft SQL Server, mais sans définir initialement aucune DbConnection ou chaîne de connexion.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données Microsoft SQL Server.

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

Configure le contexte pour se connecter à une base de données Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données Microsoft SQL Server.

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, Action<SqlServerDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données Microsoft SQL Server, mais sans définir initialement aucune DbConnection ou chaîne de connexion.

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

Configure le contexte pour se connecter à une base de données Microsoft SQL Server.

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

Configure le contexte pour se connecter à une base de données Microsoft SQL Server.

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, String, Action<SqlServerDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données Microsoft SQL Server.

S’applique à