Partager via


EntityFrameworkServiceCollectionExtensions.AddDbContextFactory Méthode

Définition

Surcharges

AddDbContextFactory<TContext,TFactory>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans pour IServiceCollection créer des instances de type donné DbContext .

AddDbContextFactory<TContext,TFactory>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans pour IServiceCollection créer des instances de type donné DbContext .

AddDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans pour IServiceCollection créer des instances de type donné DbContext .

AddDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans pour IServiceCollection créer des instances de type donné DbContext .

AddDbContextFactory<TContext,TFactory>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans pour IServiceCollection créer des instances de type donné DbContext .

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextFactory<TContext,TFactory> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) where TContext : Microsoft.EntityFrameworkCore.DbContext where TFactory : Microsoft.EntityFrameworkCore.IDbContextFactory<TContext>;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextFactory<TContext,TFactory> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) where TContext : Microsoft.EntityFrameworkCore.DbContext where TFactory : Microsoft.EntityFrameworkCore.IDbContextFactory<TContext>;
static member AddDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext and 'Factory :> Microsoft.EntityFrameworkCore.IDbContextFactory<'Context>)
<Extension()>
Public Function AddDbContextFactory(Of TContext As DbContext, TFactory As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional lifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) As IServiceCollection

Paramètres de type

TContext

Type de DbContext à créer par la fabrique.

TFactory

Type de IDbContextFactory<TContext> à inscrire.

Paramètres

serviceCollection
IServiceCollection

IServiceCollection auquel ajouter les services.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Action facultative pour configurer le DbContextOptions pour le contexte. Cela offre une alternative à l’exécution de la configuration du contexte en remplaçant la OnConfiguring(DbContextOptionsBuilder) méthode dans votre contexte dérivé.

Si une action est fournie ici, la OnConfiguring(DbContextOptionsBuilder) méthode est toujours exécutée si elle a été remplacée sur le contexte dérivé. OnConfiguring(DbContextOptionsBuilder) la configuration sera appliquée en plus de la configuration effectuée ici.

Pour que les options soient passées dans votre contexte, vous devez exposer un constructeur sur votre contexte qui l’accepte DbContextOptions<TContext> et le transmet au constructeur de base de DbContext.

lifetime
ServiceLifetime

Durée de vie avec laquelle inscrire la fabrique et les options. La valeur par défaut est Singleton

Retours

La même collection de services afin que plusieurs appels puissent être chaînés.

Remarques

L’inscription d’une fabrique au lieu d’inscrire directement le type de contexte permet de créer facilement de nouvelles DbContext instances. L’inscription d’une fabrique est recommandée pour les applications Blazor et d’autres situations où l’étendue d’injection de dépendances n’est pas alignée sur la durée de vie du contexte.

Utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec Blazor. Pour les applications qui n’utilisent pas l’injection de dépendances, envisagez de créer DbContext des instances directement avec son constructeur. La OnConfiguring(DbContextOptionsBuilder) méthode peut ensuite être remplacée pour configurer une chaîne de connexion et d’autres options.

Pour des raisons pratiques, cette méthode enregistre également le type de contexte lui-même en tant que service délimité. Cela permet à un contexte instance d’être résolu directement à partir d’une étendue d’injection de dépendances ou créé par la fabrique, le cas échéant.

Cette surcharge permet d’inscrire une implémentation spécifique de IDbContextFactory<TContext> au lieu d’utiliser la fabrique par défaut fournie avec EF Core.

Cette surcharge a un optionsAction qui fournit le de l’application IServiceProvider. Cela est utile si vous souhaitez configurer Entity Framework Core pour résoudre ses services internes à partir du fournisseur de services d’application principal. Par défaut, nous vous recommandons d’utiliser AddDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) ce qui permet à Entity Framework de créer et de gérer ses propres IServiceProvider services Entity Framework internes.

Entity Framework Core ne prend pas en charge les opérations parallèles multiples en cours d’exécution sur la même instance DbContext. Cela inclut l’exécution parallèle de requêtes asynchrones et toute utilisation simultanée explicite de plusieurs threads. Par conséquent, attendez toujours les appels asynchrones immédiatement ou utilisez des instances DbContext distinctes pour les opérations qui s’exécutent en parallèle. Pour plus d’informations et d’exemples, consultez Éviter les problèmes de thread dbContext .

Pour plus d’informations et d’exemples, consultez Utilisation de DbContext avec l’injection de dépendances et Utilisation de fabriques DbContext .

S’applique à

AddDbContextFactory<TContext,TFactory>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans pour IServiceCollection créer des instances de type donné DbContext .

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextFactory<TContext,TFactory> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) where TContext : Microsoft.EntityFrameworkCore.DbContext where TFactory : Microsoft.EntityFrameworkCore.IDbContextFactory<TContext>;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextFactory<TContext,TFactory> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) where TContext : Microsoft.EntityFrameworkCore.DbContext where TFactory : Microsoft.EntityFrameworkCore.IDbContextFactory<TContext>;
static member AddDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext and 'Factory :> Microsoft.EntityFrameworkCore.IDbContextFactory<'Context>)
<Extension()>
Public Function AddDbContextFactory(Of TContext As DbContext, TFactory As DbContext) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional lifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) As IServiceCollection

Paramètres de type

TContext

Type de DbContext à créer par la fabrique.

TFactory

Type de IDbContextFactory<TContext> à inscrire.

Paramètres

serviceCollection
IServiceCollection

IServiceCollection auquel ajouter les services.

optionsAction
Action<DbContextOptionsBuilder>

Action facultative pour configurer le DbContextOptions pour le contexte. Cela offre une alternative à l’exécution de la configuration du contexte en remplaçant la OnConfiguring(DbContextOptionsBuilder) méthode dans votre contexte dérivé.

Si une action est fournie ici, la OnConfiguring(DbContextOptionsBuilder) méthode est toujours exécutée si elle a été remplacée sur le contexte dérivé. OnConfiguring(DbContextOptionsBuilder) la configuration sera appliquée en plus de la configuration effectuée ici.

Pour que les options soient passées dans votre contexte, vous devez exposer un constructeur sur votre contexte qui l’accepte DbContextOptions<TContext> et le transmet au constructeur de base de DbContext.

lifetime
ServiceLifetime

Durée de vie avec laquelle inscrire la fabrique et les options. La valeur par défaut est Singleton

Retours

La même collection de services afin que plusieurs appels puissent être chaînés.

Remarques

L’inscription d’une fabrique au lieu d’inscrire directement le type de contexte permet de créer facilement de nouvelles DbContext instances. L’inscription d’une fabrique est recommandée pour les applications Blazor et d’autres situations où l’étendue d’injection de dépendances n’est pas alignée sur la durée de vie du contexte.

Utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec Blazor. Pour les applications qui n’utilisent pas l’injection de dépendances, envisagez de créer DbContext des instances directement avec son constructeur. La OnConfiguring(DbContextOptionsBuilder) méthode peut ensuite être remplacée pour configurer une chaîne de connexion et d’autres options.

Pour des raisons pratiques, cette méthode enregistre également le type de contexte lui-même en tant que service délimité. Cela permet à un contexte instance d’être résolu directement à partir d’une étendue d’injection de dépendances ou créé par la fabrique, le cas échéant.

Cette surcharge permet d’inscrire une implémentation spécifique de IDbContextFactory<TContext> au lieu d’utiliser la fabrique par défaut fournie avec EF Core.

Entity Framework Core ne prend pas en charge les opérations parallèles multiples en cours d’exécution sur la même instance DbContext. Cela inclut l’exécution parallèle de requêtes asynchrones et toute utilisation simultanée explicite de plusieurs threads. Par conséquent, attendez toujours les appels asynchrones immédiatement ou utilisez des instances DbContext distinctes pour les opérations qui s’exécutent en parallèle. Pour plus d’informations et d’exemples, consultez Éviter les problèmes de thread dbContext .

Pour plus d’informations et d’exemples, consultez Utilisation de DbContext avec l’injection de dépendances et Utilisation de fabriques DbContext .

S’applique à

AddDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans pour IServiceCollection créer des instances de type donné DbContext .

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextFactory<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextFactory<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional lifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) As IServiceCollection

Paramètres de type

TContext

Type de DbContext à créer par la fabrique.

Paramètres

serviceCollection
IServiceCollection

IServiceCollection auquel ajouter les services.

optionsAction
Action<DbContextOptionsBuilder>

Action facultative pour configurer le DbContextOptions pour le contexte. Cela offre une alternative à l’exécution de la configuration du contexte en remplaçant la OnConfiguring(DbContextOptionsBuilder) méthode dans votre contexte dérivé.

Si une action est fournie ici, la OnConfiguring(DbContextOptionsBuilder) méthode est toujours exécutée si elle a été remplacée sur le contexte dérivé. OnConfiguring(DbContextOptionsBuilder) la configuration sera appliquée en plus de la configuration effectuée ici.

Pour que les options soient passées dans votre contexte, vous devez exposer un constructeur sur votre contexte qui l’accepte DbContextOptions<TContext> et le transmet au constructeur de base de DbContext.

lifetime
ServiceLifetime

Durée de vie avec laquelle inscrire la fabrique et les options. La valeur par défaut est Singleton

Retours

La même collection de services afin que plusieurs appels puissent être chaînés.

Remarques

L’inscription d’une fabrique au lieu d’inscrire directement le type de contexte permet de créer facilement de nouvelles DbContext instances. L’inscription d’une fabrique est recommandée pour les applications Blazor et d’autres situations où l’étendue d’injection de dépendances n’est pas alignée sur la durée de vie du contexte.

Utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec Blazor. Pour les applications qui n’utilisent pas l’injection de dépendances, envisagez de créer DbContext des instances directement avec son constructeur. La OnConfiguring(DbContextOptionsBuilder) méthode peut ensuite être remplacée pour configurer une chaîne de connexion et d’autres options.

Pour des raisons pratiques, cette méthode enregistre également le type de contexte lui-même en tant que service délimité. Cela permet à un contexte instance d’être résolu directement à partir d’une étendue d’injection de dépendances ou créé par la fabrique, le cas échéant.

Entity Framework Core ne prend pas en charge les opérations parallèles multiples en cours d’exécution sur la même instance DbContext. Cela inclut l’exécution parallèle de requêtes asynchrones et toute utilisation simultanée explicite de plusieurs threads. Par conséquent, attendez toujours les appels asynchrones immédiatement ou utilisez des instances DbContext distinctes pour les opérations qui s’exécutent en parallèle. Pour plus d’informations et d’exemples, consultez Éviter les problèmes de thread dbContext .

Pour plus d’informations et d’exemples, consultez Utilisation de DbContext avec l’injection de dépendances et Utilisation de fabriques DbContext .

S’applique à

AddDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime)

Inscrit un IDbContextFactory<TContext> dans le IServiceCollection pour créer des instances de type donné DbContext .

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextFactory<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional lifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton) As IServiceCollection

Paramètres de type

TContext

Type de DbContext à créer par la fabrique.

Paramètres

serviceCollection
IServiceCollection

IServiceCollection auquel ajouter les services.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Action facultative pour configurer le DbContextOptions pour le contexte. Cela offre une alternative à l’exécution de la configuration du contexte en remplaçant la OnConfiguring(DbContextOptionsBuilder) méthode dans votre contexte dérivé.

Si une action est fournie ici, la OnConfiguring(DbContextOptionsBuilder) méthode est toujours exécutée si elle a été remplacée sur le contexte dérivé. OnConfiguring(DbContextOptionsBuilder) la configuration sera appliquée en plus de la configuration effectuée ici.

Pour que les options soient passées dans votre contexte, vous devez exposer un constructeur sur votre contexte qui l’accepte DbContextOptions<TContext> et le transmet au constructeur de base de DbContext.

lifetime
ServiceLifetime

Durée de vie avec laquelle inscrire la fabrique et les options. La valeur par défaut est Singleton

Retours

La même collection de services afin que plusieurs appels puissent être chaînés.

Remarques

L’inscription d’une fabrique au lieu d’inscrire directement le type de contexte permet de créer facilement de nouvelles DbContext instances. L’inscription d’une fabrique est recommandée pour les applications Blazor et d’autres situations où l’étendue d’injection de dépendances n’est pas alignée sur la durée de vie du contexte.

Utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec Blazor. Pour les applications qui n’utilisent pas l’injection de dépendances, envisagez de créer DbContext des instances directement avec son constructeur. La OnConfiguring(DbContextOptionsBuilder) méthode peut ensuite être remplacée pour configurer une chaîne de connexion et d’autres options.

Pour des raisons pratiques, cette méthode enregistre également le type de contexte lui-même en tant que service délimité. Cela permet à un contexte instance d’être résolu directement à partir d’une étendue d’injection de dépendances ou créé par la fabrique, le cas échéant.

Cette surcharge a un optionsAction qui fournit le de l’application IServiceProvider. Cela est utile si vous souhaitez configurer Entity Framework Core pour résoudre ses services internes à partir du fournisseur de services d’application principal. Par défaut, nous vous recommandons d’utiliser AddDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) ce qui permet à Entity Framework de créer et de gérer ses propres IServiceProvider services Entity Framework internes.

Entity Framework Core ne prend pas en charge les opérations parallèles multiples en cours d’exécution sur la même instance DbContext. Cela inclut l’exécution parallèle de requêtes asynchrones et toute utilisation simultanée explicite de plusieurs threads. Par conséquent, attendez toujours immédiatement les appels asynchrones ou utilisez des instances DbContext distinctes pour les opérations qui s’exécutent en parallèle. Pour plus d’informations et d’exemples, consultez Éviter les problèmes de thread dbContext .

Pour plus d’informations et d’exemples, consultez Utilisation de DbContext avec l’injection de dépendances et Utilisation de fabriques DbContext .

S’applique à