Sdílet prostřednictvím


EntityFrameworkServiceCollectionExtensions.AddPooledDbContextFactory Metoda

Definice

Přetížení

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

Zaregistruje IDbContextFactory<TContext> v objektu IServiceCollection instance daného DbContext typu, kde jsou instance ve fondu pro opakované použití.

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

Zaregistruje IDbContextFactory<TContext> v objektu IServiceCollection instance daného DbContext typu, kde jsou instance ve fondu pro opakované použití.

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

Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs

Zaregistruje IDbContextFactory<TContext> v objektu IServiceCollection instance daného DbContext typu, kde jsou instance ve fondu pro opakované použití.

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

Parametry typu

TContext

Typ objektu DbContext , který má být vytvořen továrnou.

Parametry

serviceCollection
IServiceCollection

Chcete-li IServiceCollection přidat služby do.

optionsAction
Action<DbContextOptionsBuilder>

Požadovaná akce pro konfiguraci DbContextOptions kontextu. Při použití sdružování kontextu musí být konfigurace možností provedena externě; OnConfiguring(DbContextOptionsBuilder) nebude volána.

poolSize
Int32

Nastaví maximální počet instancí uchovávaných fondem. Výchozí hodnota je 1024.

Návraty

Stejná kolekce služeb, aby bylo možné zřetězených více volání.

Poznámky

Registrace objektu pro vytváření místo přímé registrace typu kontextu umožňuje snadné vytváření nových DbContext instancí. Registrace továrny se doporučuje pro aplikace Blazor a další situace, kdy rozsah injektáže závislostí není v souladu s životností kontextu.

Tuto metodu použijte při použití injektáže závislostí ve vaší aplikaci, jako je blazor. U aplikací, které nepoužívají injektáž závislostí, zvažte vytvoření DbContext instancí přímo pomocí jeho konstruktoru. Metodu OnConfiguring(DbContextOptionsBuilder) je pak možné přepsat a nakonfigurovat připojovací řetězec a další možnosti.

Entity Framework Core nepodporuje spouštění více paralelních operací ve stejné instanci DbContext. To zahrnuje paralelní spouštění asynchronních dotazů i jakékoli explicitní souběžné používání z více vláken. Proto vždy okamžitě vyčkejte na asynchronní volání nebo používejte samostatné instance DbContext pro operace, které se provádějí paralelně. Další informace a příklady najdete v tématu Předcházení problémům s vlákny DbContext .

Další informace a příklady najdete v tématech Použití DbContextu s injektácí závislostí, Používání továren DbContext a Používání fondu DbContext .

Platí pro

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

Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs
Zdroj:
EntityFrameworkServiceCollectionExtensions.cs

Zaregistruje IDbContextFactory<TContext> v objektu IServiceCollection instance daného DbContext typu, kde jsou instance ve fondu pro opakované použití.

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

Parametry typu

TContext

Typ objektu DbContext , který má být vytvořen továrnou.

Parametry

serviceCollection
IServiceCollection

Chcete-li IServiceCollection přidat služby do.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Požadovaná akce pro konfiguraci DbContextOptions kontextu. Při použití sdružování kontextu musí být konfigurace možností provedena externě; OnConfiguring(DbContextOptionsBuilder) nebude volána.

poolSize
Int32

Nastaví maximální počet instancí uchovávaných fondem. Výchozí hodnota je 1024.

Návraty

Stejná kolekce služeb, aby bylo možné zřetězených více volání.

Poznámky

Registrace objektu pro vytváření místo přímé registrace typu kontextu umožňuje snadné vytváření nových DbContext instancí. Registrace továrny se doporučuje pro aplikace Blazor a další situace, kdy rozsah injektáže závislostí není v souladu s životností kontextu.

Tuto metodu použijte při použití injektáže závislostí ve vaší aplikaci, jako je blazor. U aplikací, které nepoužívají injektáž závislostí, zvažte vytvoření DbContext instancí přímo pomocí jeho konstruktoru. Metodu OnConfiguring(DbContextOptionsBuilder) je pak možné přepsat a nakonfigurovat připojovací řetězec a další možnosti.

Entity Framework Core nepodporuje spouštění více paralelních operací ve stejné instanci DbContext. To zahrnuje paralelní spouštění asynchronních dotazů i jakékoli explicitní souběžné používání z více vláken. Proto vždy okamžitě vyčkejte na asynchronní volání nebo používejte samostatné instance DbContext pro operace, které se provádějí paralelně. Další informace a příklady najdete v tématu Předcházení problémům s vlákny DbContext .

Další informace a příklady najdete v tématech Použití DbContextu s injektácí závislostí, Používání továren DbContext a Používání fondu DbContext .

Platí pro