Partager via


EntityFrameworkServiceCollectionExtensions.AddPooledDbContextFactory Méthode

Définition

Surcharges

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Inscrit un IDbContextFactory<TContext> dans le IServiceCollection pour créer des instances de type donné DbContext où les instances sont regroupées pour une réutilisation.

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Inscrit un IDbContextFactory<TContext> dans le IServiceCollection pour créer des instances de type donné DbContext où les instances sont regroupées pour une réutilisation.

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs

Inscrit un IDbContextFactory<TContext> dans le IServiceCollection pour créer des instances de type donné DbContext où les instances sont regroupées pour une réutilisation.

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPooledDbContextFactory<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 AddPooledDbContextFactory<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddPooledDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddPooledDbContextFactory(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 DbContext à créer par la fabrique.

Paramètres

serviceCollection
IServiceCollection

IServiceCollection auquel ajouter les services.

optionsAction
Action<DbContextOptionsBuilder>

Action requise pour configurer le DbContextOptions pour le contexte. Lorsque vous utilisez le 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

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 lorsque vous utilisez 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.

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, Utilisation de fabriques DbContext et Utilisation du pool DbContext .

S’applique à

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs

Inscrit un IDbContextFactory<TContext> dans le IServiceCollection pour créer des instances de type donné DbContext où les instances sont regroupées pour une réutilisation.

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPooledDbContextFactory<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 AddPooledDbContextFactory<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddPooledDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddPooledDbContextFactory(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 DbContext à créer par la fabrique.

Paramètres

serviceCollection
IServiceCollection

IServiceCollection auquel ajouter les services.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Action requise pour configurer le DbContextOptions pour le contexte. Lorsque vous utilisez le 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

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 lorsque vous utilisez 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.

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, Utilisation de fabriques DbContext et Utilisation du pool DbContext .

S’applique à