EntityFrameworkServiceCollectionExtensions.AddDbContext Méthode
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.
Surcharges
AddDbContext<TContext>(IServiceCollection, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection Vous utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET. Pour plus d’informations sur la configuration de l’injection de dépendances, consultez http://go.microsoft.com/fwlink/?LinkId=526890. |
AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection |
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection Vous utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET. Pour plus d’informations sur la configuration de l’injection de dépendances, consultez http://go.microsoft.com/fwlink/?LinkId=526890. |
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection Vous utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET. Pour plus d’informations sur la configuration de l’injection de dépendances, consultez http://go.microsoft.com/fwlink/?LinkId=526890.
Cette surcharge a un |
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection |
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection |
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection |
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection |
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Inscrit le contexte donné en tant que service dans .IServiceCollection |
AddDbContext<TContext>(IServiceCollection, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection Vous utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET. Pour plus d’informations sur la configuration de l’injection de dépendances, consultez http://go.microsoft.com/fwlink/?LinkId=526890.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, contextLifetime As ServiceLifetime) As IServiceCollection
Paramètres de type
- TContext
Type de contexte à inscrire.
Paramètres
- serviceCollection
- IServiceCollection
IServiceCollection auquel ajouter les services.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}
S’applique à
AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, contextLifetime As ServiceLifetime, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContext
Type de contexte à inscrire.
Paramètres
- serviceCollection
- IServiceCollection
IServiceCollection auquel ajouter les services.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
- optionsLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContextOptions dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}
Remarques
Utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET Core. 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.
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 .
S’applique à
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection Vous utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET. Pour plus d’informations sur la configuration de l’injection de dépendances, consultez http://go.microsoft.com/fwlink/?LinkId=526890.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContext
Type de contexte à 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.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}
S’applique à
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection Vous utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET. Pour plus d’informations sur la configuration de l’injection de dépendances, consultez http://go.microsoft.com/fwlink/?LinkId=526890.
Cette surcharge a un optionsAction
qui fournit les applications IServiceProvider.
Cela est utile si vous souhaitez configurer Entity Framework pour résoudre ses services internes à partir du fournisseur de services d’application principal.
Par défaut, nous vous recommandons d’utiliser l’autre surcharge, qui permet à Entity Framework de créer et de gérer ses propres IServiceProvider services Entity Framework internes.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : 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 AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContext
Type de contexte à 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.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services
.AddEntityFrameworkSqlServer()
.AddDbContext<MyContext>((serviceProvider, options) =>
options.UseSqlServer(connectionString)
.UseInternalServiceProvider(serviceProvider));
}
S’applique à
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContext
Type de contexte à 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.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
- optionsLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContextOptions dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}
Remarques
Utilisez cette méthode lors de l’utilisation de l’injection de dépendances dans votre application, par exemple avec ASP.NET Core. 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.
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 .
S’applique à
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContext
Type de contexte à 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 à 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 transmises dans votre contexte, vous devez exposer un constructeur sur votre contexte qui le prend DbContextOptions<TContext> et le transmet au constructeur de base de DbContext.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
- optionsLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContextOptions dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services
.AddEntityFrameworkSqlServer()
.AddDbContext<MyContext>((serviceProvider, options) =>
options.UseSqlServer(connectionString)
.UseInternalServiceProvider(serviceProvider));
}
Remarques
Utilisez cette méthode lorsque vous utilisez l’injection de dépendances dans votre application, par exemple avec ASP.NET Core. 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.
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 .
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 .
Cette surcharge a un optionsAction
qui fournit 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 AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) ce qui permet à Entity Framework de créer et de gérer ses propres IServiceProvider services Entity Framework internes.
S’applique à
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextService : null and 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContext(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, contextLifetime As ServiceLifetime, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContextService
Classe ou interface qui sera utilisée pour résoudre le contexte à partir du conteneur.
- TContextImplementation
Type d’implémentation concret à créer.
Paramètres
- serviceCollection
- IServiceCollection
IServiceCollection auquel ajouter les services.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
- optionsLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContextOptions dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}
Remarques
Utilisez cette méthode lorsque vous utilisez l’injection de dépendances dans votre application, par exemple avec ASP.NET Core. 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.
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 .
S’applique à
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContext(Of TContextService, TContextImplementation) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContextService
Classe ou interface qui sera utilisée pour résoudre le contexte à partir du conteneur.
- TContextImplementation
Type d’implémentation concret à créer.
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 à 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 transmises dans votre contexte, vous devez exposer un constructeur sur votre contexte qui le prend DbContextOptions<TContext> et le transmet au constructeur de base de DbContext.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
- optionsLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContextOptions dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}
Remarques
Utilisez cette méthode lorsque vous utilisez l’injection de dépendances dans votre application, par exemple avec ASP.NET Core. 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.
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 .
S’applique à
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Inscrit le contexte donné en tant que service dans .IServiceCollection
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContext(Of TContextService, TContextImplementation) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Paramètres de type
- TContextService
Classe ou interface qui sera utilisée pour résoudre le contexte à partir du conteneur.
- TContextImplementation
Type d’implémentation concret à créer.
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 à 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 transmises dans votre contexte, vous devez exposer un constructeur sur votre contexte qui le prend DbContextOptions<TContext> et le transmet au constructeur de base de DbContext.
- contextLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContext dans le conteneur.
- optionsLifetime
- ServiceLifetime
Durée de vie avec laquelle inscrire le service DbContextOptions dans le conteneur.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Exemples
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services
.AddEntityFrameworkSqlServer()
.AddDbContext<MyContext>((serviceProvider, options) =>
options.UseSqlServer(connectionString)
.UseInternalServiceProvider(serviceProvider));
}
Remarques
Utilisez cette méthode lorsque vous utilisez l’injection de dépendances dans votre application, par exemple avec ASP.NET Core. 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.
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 .
Cette surcharge a un optionsAction
qui fournit 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 AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) ce qui permet à Entity Framework de créer et de gérer ses propres IServiceProvider services Entity Framework internes.