EntityFrameworkServiceCollectionExtensions.AddDbContextPool 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
AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription. |
AddDbContextPool<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription. |
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription. |
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription. |
AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContextPool : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContextPool(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 1024) As IServiceCollection
Paramètres de type
- TContext
Type de contexte à inscrire.
Paramètres
- serviceCollection
- IServiceCollection
IServiceCollection auquel ajouter les services.
- optionsAction
- Action<DbContextOptionsBuilder>
Action requise pour configurer le DbContextOptions pour le contexte. Lors de l’utilisation du regroupement de contextes, la configuration des options doit être effectuée en externe ; OnConfiguring(DbContextOptionsBuilder) ne sera pas appelé.
- poolSize
- Int32
Définit le nombre maximal d’instances conservées par le pool. La valeur par défaut est 1024.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Remarques
Le regroupement DbContext peut augmenter les performances dans les scénarios à débit élevé en réutilisant des instances de contexte. Toutefois, pour la plupart des applications, ce gain de performances est très faible. Notez que lors de l’utilisation du regroupement, la configuration du contexte ne peut pas changer entre les utilisations, et les services étendus injectés dans le contexte ne seront résolus qu’une seule fois à partir de l’étendue initiale. Envisagez uniquement d’utiliser le regroupement DbContext lorsque les tests de performances indiquent qu’il offre un réel coup de pouce.
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 injection de dépendances et Utilisation du regroupement DbContext .
S’applique à
AddDbContextPool<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContextPool : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContextPool(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 1024) 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 requise pour configurer le DbContextOptions pour le contexte. Lors de l’utilisation du regroupement de contextes, la configuration des options doit être effectuée en externe ; OnConfiguring(DbContextOptionsBuilder) ne sera pas appelé.
- poolSize
- Int32
Définit le nombre maximal d’instances conservées par le pool. La valeur par défaut est 1024.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Remarques
Le regroupement DbContext peut augmenter les performances dans les scénarios à débit élevé en réutilisant des instances de contexte. Toutefois, pour la plupart des applications, ce gain de performances est très faible. Notez que lors de l’utilisation du regroupement, la configuration du contexte ne peut pas changer entre les utilisations, et les services étendus injectés dans le contexte ne seront résolus qu’une seule fois à partir de l’étendue initiale. Envisagez uniquement d’utiliser le regroupement DbContext lorsque les tests de performances indiquent qu’il offre un réel coup de pouce.
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 injection de dépendances et Utilisation du regroupement DbContext .
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 AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) ce qui permet à Entity Framework de créer et de gérer ses propres IServiceProvider services Entity Framework internes.
S’applique à
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContextPool : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextService : null and 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 1024) 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 concrète à créer.
Paramètres
- serviceCollection
- IServiceCollection
IServiceCollection auquel ajouter les services.
- optionsAction
- Action<DbContextOptionsBuilder>
Action requise pour configurer le DbContextOptions pour le contexte. Lors de l’utilisation du regroupement de contextes, la configuration des options doit être effectuée en externe ; OnConfiguring(DbContextOptionsBuilder) ne sera pas appelé.
- poolSize
- Int32
Définit le nombre maximal d’instances conservées par le pool. La valeur par défaut est 1024.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Remarques
Le regroupement DbContext peut augmenter les performances dans les scénarios à débit élevé en réutilisant des instances de contexte. Toutefois, pour la plupart des applications, ce gain de performances est très faible. Notez que lors de l’utilisation du regroupement, la configuration du contexte ne peut pas changer entre les utilisations, et les services étendus injectés dans le contexte ne seront résolus qu’une seule fois à partir de l’étendue initiale. Envisagez uniquement d’utiliser le regroupement DbContext lorsque les tests de performances indiquent qu’il offre un réel coup de pouce.
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 injection de dépendances et Utilisation du regroupement DbContext .
S’applique à
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Inscrit le donné DbContext en tant que service dans et active le IServiceCollectionregroupement DbContext pour cette inscription.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContextPool : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextService : null and 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 1024) 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 concrète à créer.
Paramètres
- serviceCollection
- IServiceCollection
IServiceCollection auquel ajouter les services.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Action requise pour configurer le DbContextOptions pour le contexte. Lors de l’utilisation du regroupement de contextes, la configuration des options doit être effectuée en externe ; OnConfiguring(DbContextOptionsBuilder) ne sera pas appelé.
- poolSize
- Int32
Définit le nombre maximal d’instances conservées par le pool. La valeur par défaut est 1024.
Retours
La même collection de services afin que plusieurs appels puissent être chaînés.
Remarques
Le regroupement DbContext peut augmenter les performances dans les scénarios à débit élevé en réutilisant des instances de contexte. Toutefois, pour la plupart des applications, ce gain de performances est très faible. Notez que lors de l’utilisation du regroupement, la configuration du contexte ne peut pas changer entre les utilisations, et les services étendus injectés dans le contexte ne seront résolus qu’une seule fois à partir de l’étendue initiale. Envisagez uniquement d’utiliser le regroupement DbContext lorsque les tests de performances indiquent qu’il offre un réel coup de pouce.
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 injection de dépendances et Utilisation du regroupement DbContext .
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 AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) ce qui permet à Entity Framework de créer et de gérer ses propres IServiceProvider services Entity Framework internes.