EntityFrameworkServiceCollectionExtensions.AddPooledDbContextFactory Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Rejestruje element IDbContextFactory<TContext> w obiekcie , IServiceCollection aby utworzyć wystąpienia danego DbContext typu, w którym wystąpienia są w puli do ponownego użycia. |
| AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Rejestruje element IDbContextFactory<TContext> w obiekcie , IServiceCollection aby utworzyć wystąpienia danego DbContext typu, w którym wystąpienia są w puli do ponownego użycia. |
AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)
Rejestruje element IDbContextFactory<TContext> w obiekcie , IServiceCollection aby utworzyć wystąpienia danego DbContext typu, w którym wystąpienia są w puli do ponownego użycia.
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 DbContext , który ma zostać utworzony przez fabrykę.
Parametry
- serviceCollection
- IServiceCollection
Element do dodawania IServiceCollection usług.
- optionsAction
- Action<DbContextOptionsBuilder>
Wymagana akcja do skonfigurowania DbContextOptions elementu dla kontekstu. W przypadku korzystania z buforowania kontekstów należy wykonać konfigurację opcji zewnętrznie; OnConfiguring(DbContextOptionsBuilder) nie zostanie wywołana.
- poolSize
- Int32
Ustawia maksymalną liczbę wystąpień przechowywanych przez pulę. Wartość domyślna to 1024.
Zwraca
Ta sama kolekcja usług, dzięki czemu można połączyć łańcuch wielu wywołań.
Uwagi
Zarejestrowanie fabryki zamiast rejestrowania typu kontekstu bezpośrednio umożliwia łatwe tworzenie nowych DbContext wystąpień. Rejestrowanie fabryki jest zalecane w przypadku aplikacji Blazor i innych sytuacji, w których zakres wstrzykiwania zależności nie jest zgodny z okresem istnienia kontekstu.
Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład z platformą Blazor. W przypadku aplikacji, które nie używają iniekcji zależności, rozważ utworzenie DbContext wystąpień bezpośrednio z jego konstruktorem. Następnie OnConfiguring(DbContextOptionsBuilder) można zastąpić metodę w celu skonfigurowania parametrów połączenia i innych opcji.
Platforma Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu DbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. W związku z tym zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji i przykładów, zobacz Unikanie problemów z wątkami dbContext .
Aby uzyskać więcej informacji i przykładów, zobacz Using DbContext factory (Używanie metody DbContext factory,Using DbContext pooling with dependency injection), Using DbContext factory (Używanie fabryk dbContext) i Using DbContext pooling (Używanie puli dbContext).
Dotyczy
AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Rejestruje element IDbContextFactory<TContext> w obiekcie , IServiceCollection aby utworzyć wystąpienia danego DbContext typu, w którym wystąpienia są w puli do ponownego użycia.
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 DbContext , który ma zostać utworzony przez fabrykę.
Parametry
- serviceCollection
- IServiceCollection
Element do dodawania IServiceCollection usług.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Wymagana akcja do skonfigurowania DbContextOptions elementu dla kontekstu. W przypadku korzystania z buforowania kontekstów należy wykonać konfigurację opcji zewnętrznie; OnConfiguring(DbContextOptionsBuilder) nie zostanie wywołana.
- poolSize
- Int32
Ustawia maksymalną liczbę wystąpień przechowywanych przez pulę. Wartość domyślna to 1024.
Zwraca
Ta sama kolekcja usług, dzięki czemu można połączyć łańcuch wielu wywołań.
Uwagi
Zarejestrowanie fabryki zamiast rejestrowania typu kontekstu bezpośrednio umożliwia łatwe tworzenie nowych DbContext wystąpień. Rejestrowanie fabryki jest zalecane w przypadku aplikacji Blazor i innych sytuacji, w których zakres wstrzykiwania zależności nie jest zgodny z okresem istnienia kontekstu.
Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład z platformą Blazor. W przypadku aplikacji, które nie używają iniekcji zależności, rozważ utworzenie DbContext wystąpień bezpośrednio z jego konstruktorem. Następnie OnConfiguring(DbContextOptionsBuilder) można zastąpić metodę w celu skonfigurowania parametrów połączenia i innych opcji.
Platforma Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu DbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. W związku z tym zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji i przykładów, zobacz Unikanie problemów z wątkami dbContext .
Aby uzyskać więcej informacji i przykładów, zobacz Using DbContext factory (Używanie metody DbContext factory,Using DbContext pooling with dependency injection), Using DbContext factory (Używanie fabryk dbContext) i Using DbContext pooling (Używanie puli dbContext).