DbContextOptionsBuilder Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit une surface d’API simple pour la configuration DbContextOptions. 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 : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- Héritage
-
DbContextOptionsBuilder
- Dérivé
- Attributs
- Implémente
Remarques
Vous pouvez utiliser DbContextOptionsBuilder pour configurer un contexte en OnConfiguring(DbContextOptionsBuilder) remplaçant ou en créant un DbContextOptions contexte en externe et en le transmettant au constructeur de contexte.
Pour plus d’informations et d’exemples, consultez Utilisation de DbContextOptions .
Constructeurs
| Nom | Description |
|---|---|
| DbContextOptionsBuilder() |
Initialise une nouvelle instance de la DbContextOptionsBuilder classe sans options définies. |
| DbContextOptionsBuilder(DbContextOptions) |
Initialise une nouvelle instance de la DbContextOptionsBuilder classe pour configurer davantage une instance donnée DbContextOptions. |
Propriétés
| Nom | Description |
|---|---|
| IsConfigured |
Obtient une valeur indiquant si des options ont été configurées. |
| Options |
Obtient les options en cours de configuration. |
Méthodes
| Nom | Description |
|---|---|
| AddInterceptors(IEnumerable<IInterceptor>) |
Ajoute IInterceptor des instances à celles inscrites sur le contexte. |
| AddInterceptors(IInterceptor[]) |
Ajoute IInterceptor des instances à celles inscrites sur le contexte. |
| ConfigureLoggingCacheTime(TimeSpan) |
Configure la durée pendant laquelle EF Core met en cache la configuration de journalisation dans certains chemins hautes performances. Cela rend EF Core ignorer 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). |
| 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. |
| 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 requête de magasin. Ces erreurs se produisent le plus souvent en raison d’une mauvaise configuration 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. |
| 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(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. |
| 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. |
| EnableThreadSafetyChecks(Boolean) |
Désactive la détection de la concurrence, qui détecte de nombreux cas d’utilisation simultanée erronée d’une DbContext instance et provoque la levée d’une exception informative. Cela fournit une amélioration mineure des performances, mais si une DbContext instance est utilisée simultanément, le comportement ne sera pas défini et le programme peut échouer de manière imprévisible. |
| 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>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
Enregistre les événements spécifiés à l’aide de l’action fournie. Par exemple, utilisez cette option |
| LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Enregistre tous les événements dans les catégories spécifiées à l’aide de l’action fournie. Par exemple, utilisez |
| LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Journaux à l’aide de l’action fournie. Par exemple, utilisez cette option |
| LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Journalise les événements à 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. |
| ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Remplace l’implémentation interne d’Entity Framework d’une implémentation spécifique d’un contrat de service par une implémentation différente. |
| ReplaceService<TService,TImplementation>() |
Remplace toutes les implémentations d’Entity Framework internes d’un contrat de service par une autre implémentation. |
| UseApplicationServiceProvider(IServiceProvider) |
Définit l’application IServiceProvider à partir de laquelle 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 doit être appelée. |
| UseAsyncSeeding(Func<DbContext,Boolean,CancellationToken,Task>) |
Configure la méthode initiale à exécuter après EnsureCreatedAsync(CancellationToken) l’appel ou après l’application asynchrone des migrations. Elle sera appelée même si aucune modification n’a été apportée au magasin. |
| UseInternalServiceProvider(IServiceProvider) |
Définit le IServiceProvider contexte à partir duquel tous ses services doivent être résolus. EF crée et gère un fournisseur de services si aucun n’est spécifié. |
| UseLoggerFactory(ILoggerFactory) |
Définit l’élément ILoggerFactory qui sera utilisé pour créer des instances pour la ILogger journalisation effectuée par ce contexte. |
| UseMemoryCache(IMemoryCache) |
Définit la valeur à 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) n’est pas exécuté. |
| UseQueryTrackingBehavior(QueryTrackingBehavior) |
Définit le comportement de suivi pour les requêtes LINQ exécutées sur le contexte. La désactivation du suivi des modifications est utile pour les scénarios en lecture seule, car elle évite la surcharge de configuration du suivi des modifications pour chaque instance d’entité. 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 . |
| 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(IServiceProvider) |
Définit la racine IServiceProvider à partir de laquelle les services d’application singleton peuvent être obtenus à partir de services internes singleton. |
| UseSeeding(Action<DbContext,Boolean>) |
Configure la méthode de départ à exécuter après EnsureCreated() l’appel ou après l’application des migrations. Elle sera appelée même si aucune modification n’a été apportée au magasin. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Ajoute l’extension donnée aux options. Si une extension existante du même type existe déjà, elle sera remplacée. |
| IDbContextOptionsBuilderInfrastructure.RemoveExtension<TExtension>() |
Supprime l’extension du type donné des options. Si aucune extension du type donné n’existe, il s’agit d’une no-op. |
Méthodes d’extension
| Nom | Description |
|---|---|
| ConfigureSqlEngine(DbContextOptionsBuilder, Action<SqlEngineDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à l’une des bases de données SQL Server, Azure SQL, Azure Synapse, mais sans définir DbConnection initialement une ou chaîne de connexion. |
| UseAzureSql(DbContextOptionsBuilder, Action<AzureSqlDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure SQL, mais sans définir DbConnection initialement une ou chaîne de connexion. |
| UseAzureSql(DbContextOptionsBuilder, DbConnection, Action<AzureSqlDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure SQL. |
| UseAzureSql(DbContextOptionsBuilder, DbConnection, Boolean, Action<AzureSqlDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure SQL. |
| UseAzureSql(DbContextOptionsBuilder, String, Action<AzureSqlDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure SQL. |
| UseAzureSynapse(DbContextOptionsBuilder, Action<AzureSynapseDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure Synapse, mais sans définir DbConnection initialement une ou chaîne de connexion. |
| UseAzureSynapse(DbContextOptionsBuilder, DbConnection, Action<AzureSynapseDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure Synapse. |
| UseAzureSynapse(DbContextOptionsBuilder, DbConnection, Boolean, Action<AzureSynapseDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure Synapse. |
| UseAzureSynapse(DbContextOptionsBuilder, String, Action<AzureSynapseDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données Azure Synapse. |
| UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean) |
Active la création de proxys de suivi des modifications. |
| UseCosmos(DbContextOptionsBuilder, Action<CosmosDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données cosmos Azure. Les détails de connexion doivent être spécifiés dans un appel distinct. |
| UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données cosmos Azure. |
| UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données cosmos Azure. |
| UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données cosmos Azure. |
| UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>) |
Obsolète.
Obsolète.
Configure le contexte pour se connecter à la base de données partagée en mémoire héritée. Cette méthode est obsolète. Utilisez UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) à la place. |
| UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données en mémoire nommée. La base de données en mémoire est partagée n’importe 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 raciner la base de données. |
| UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données en mémoire nommée. La base de données en mémoire est partagée n’importe où le même nom est utilisé, mais uniquement pour un fournisseur de services donné. |
| 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é. |
| UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données SQLite, mais sans définir initialement une DbConnection ou chaîne de connexion. |
| 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. |
| UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données SQL Server, mais sans définir DbConnection initialement une ou chaîne de connexion. |
| UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données SQL Server. |
| UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données SQL Server. |
| UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>) |
Configure le contexte pour se connecter à une base de données SQL Server. |