DbContextOptionsBuilder Classe

Définition

Fournit une surface d’API simple pour la configuration de 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
type DbContextOptionsBuilder = class
    interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
Héritage
DbContextOptionsBuilder
Dérivé
Implémente

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()

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

DbContextOptionsBuilder(DbContextOptions)

Initialise une nouvelle instance de la DbContextOptionsBuilder classe pour configurer davantage un .DbContextOptions

Propriétés

IsConfigured

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

Options

Obtient les options en cours de configuration.

Méthodes

AddInterceptors(IEnumerable<IInterceptor>)

Ajoute IInterceptor des instances à celles inscrites dans le contexte.

AddInterceptors(IInterceptor[])

Ajoute IInterceptor des instances à celles inscrites dans le contexte.

ConfigureLoggingCacheTime(TimeSpan)

Configure la durée pendant laquelle EF Core mettra en cache la configuration de la journalisation dans certains chemins hautes performances. Cela permet à EF Core d’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 des requêtes du 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 du 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 des 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 d’inclure les données d’application dans les messages d’exception, la journalisation, etc. Cela peut inclure les valeurs attribué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 d’inclure les données d’application dans les messages d’exception, la journalisation, etc. Cela peut inclure les valeurs attribué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 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.

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>)

Consigne 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<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Consigne 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>, LogLevel, Nullable<DbContextLoggerOptions>)

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

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

Consigne 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.

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 autre implémentation.

ReplaceService<TService,TImplementation>()

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

UseApplicationServiceProvider(IServiceProvider)

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

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) n’est pas exécuté.

UseQueryTrackingBehavior(QueryTrackingBehavior)

Définit le comportement de suivi des 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 .

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 des services internes singleton.

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 sera remplacée.

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.

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>) en passant un partagé InMemoryDatabaseRoot sur lequel raciner la base de données.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

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

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Active la création de proxys de chargement paresseux.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Active la création de proxys de chargement paresseux.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Configure le contexte pour se connecter à une base de données SQLite, mais sans définir initialement aucune 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 Microsoft SQL Server, mais sans définir initialement un ou DbConnection 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.

S’applique à