EntityFrameworkServiceCollectionExtensions.AddDbContextPool Metoda

Definicja

Przeciążenia

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

Rejestruje daną DbContext usługę jako usługę w elemecie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności, ponownie używając wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z puli konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli dbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład w przypadku ASP.NET Core. 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.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. 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, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody DbContext z iniekcją zależności ) i Using DbContext pooling (Używanie puli dbContext ).

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

Rejestruje daną DbContext usługę jako usługę w elemecie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności, ponownie używając wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z puli konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli dbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład w przypadku ASP.NET Core. 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.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. 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, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody DbContext z iniekcją zależności ) i Using DbContext pooling (Używanie puli dbContext ).

To przeciążenie ma element optionsAction zapewniający aplikację IServiceProvider. Jest to przydatne, jeśli chcesz skonfigurować platformę Entity Framework Core, aby rozwiązać problemy z jej usługami wewnętrznymi od podstawowego dostawcy usług aplikacji. Domyślnie zalecamy użycie AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) programu Entity Framework, które umożliwia tworzenie i konserwację własnego IServiceProvider programu Entity Framework dla wewnętrznych usług Entity Framework.

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Rejestruje daną DbContext usługę jako usługę w elemecie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności, ponownie używając wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z puli konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli dbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład w przypadku ASP.NET Core. 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.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. 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, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody DbContext z iniekcją zależności ) i Using DbContext pooling (Używanie puli dbContext ).

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Rejestruje dane DbContext jako usługę w obiekcie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności przez ponowne użycie wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z buforowania konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli DbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład z ASP.NET Core. W przypadku aplikacji, które nie używają wstrzykiwania zależności, rozważ utworzenie DbContext wystąpień bezpośrednio z konstruktorem. OnConfiguring(DbContextOptionsBuilder) Następnie można zastąpić metodę w celu skonfigurowania parametrów połączenia i innych opcji.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody dbContext z iniekcją zależności) i Using DbContext pooling (Używanie puli dbContext).

To przeciążenie ma element optionsAction , który udostępnia aplikację IServiceProvider. Jest to przydatne, jeśli chcesz skonfigurować program Entity Framework Core w celu rozpoznawania jego usług wewnętrznych od podstawowego dostawcy usług aplikacji. Domyślnie zalecamy używanie programu AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) Entity Framework, które umożliwia tworzenie i konserwację własnych IServiceProvider usług programu Entity Framework.

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

Rejestruje dane DbContext jako usługę w obiekcie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności przez ponowne użycie wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z buforowania konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli DbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład z ASP.NET Core. W przypadku aplikacji, które nie używają wstrzykiwania zależności, rozważ utworzenie DbContext wystąpień bezpośrednio z konstruktorem. OnConfiguring(DbContextOptionsBuilder) Następnie można zastąpić metodę w celu skonfigurowania parametrów połączenia i innych opcji.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody dbContext z iniekcją zależności) i Using DbContext pooling (Używanie puli dbContext).

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

Parametry typu

TContext

Typ kontekstu do zarejestrowania.

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 konfiguracja opcji musi być wykonywana zewnętrznie; OnConfiguring(DbContextOptionsBuilder) nie zostanie wywołana.

poolSize
Int32

Ustawia maksymalną liczbę wystąpień zachowanych przez pulę. Wartość domyślna to 1024.

Zwraca

IServiceCollection

Ta sama kolekcja usług, dzięki czemu można połączyć wiele wywołań.

Dotyczy

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

Rejestruje dane DbContext jako usługę w obiekcie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności przez ponowne użycie wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z buforowania konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli DbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład z ASP.NET Core. W przypadku aplikacji, które nie używają wstrzykiwania zależności, rozważ utworzenie DbContext wystąpień bezpośrednio z konstruktorem. OnConfiguring(DbContextOptionsBuilder) Następnie można zastąpić metodę w celu skonfigurowania parametrów połączenia i innych opcji.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody dbContext z iniekcją zależności) i Using DbContext pooling (Używanie puli dbContext).

To przeciążenie ma element optionsAction , który udostępnia aplikację IServiceProvider. Jest to przydatne, jeśli chcesz skonfigurować program Entity Framework Core w celu rozpoznawania jego usług wewnętrznych od podstawowego dostawcy usług aplikacji. Domyślnie zalecamy używanie programu AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) Entity Framework, które umożliwia tworzenie i konserwację własnych IServiceProvider usług programu Entity Framework.

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

Parametry typu

TContext

Typ kontekstu do zarejestrowania.

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 konfiguracja opcji musi być wykonywana zewnętrznie; OnConfiguring(DbContextOptionsBuilder) nie zostanie wywołana.

poolSize
Int32

Ustawia maksymalną liczbę wystąpień zachowanych przez pulę. Wartość domyślna to 1024.

Zwraca

IServiceCollection

Ta sama kolekcja usług, dzięki czemu można połączyć wiele wywołań.

Dotyczy

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Rejestruje dane DbContext jako usługę w obiekcie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności przez ponowne użycie wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z buforowania konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli DbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład z ASP.NET Core. W przypadku aplikacji, które nie używają wstrzykiwania zależności, rozważ utworzenie DbContext wystąpień bezpośrednio z konstruktorem. OnConfiguring(DbContextOptionsBuilder) Następnie można zastąpić metodę w celu skonfigurowania parametrów połączenia i innych opcji.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody dbContext z iniekcją zależności) i Using DbContext pooling (Używanie puli dbContext).

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

Parametry typu

TContextService

Klasa lub interfejs, który będzie używany do rozpoznawania kontekstu z kontenera.

TContextImplementation

Konkretny typ implementacji do utworzenia.

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 konfiguracja opcji musi być wykonywana zewnętrznie; OnConfiguring(DbContextOptionsBuilder) nie zostanie wywołana.

poolSize
Int32

Ustawia maksymalną liczbę wystąpień zachowanych przez pulę. Wartość domyślna to 1024.

Zwraca

IServiceCollection

Ta sama kolekcja usług, dzięki czemu można połączyć wiele wywołań.

Dotyczy

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Rejestruje dane DbContext jako usługę w obiekcie IServiceCollectioni włącza buforowanie dbContext dla tej rejestracji.

Buforowanie dbContext może zwiększyć wydajność w scenariuszach o wysokiej przepływności przez ponowne użycie wystąpień kontekstu. Jednak w przypadku większości aplikacji ten wzrost wydajności jest bardzo mały. Należy pamiętać, że w przypadku korzystania z buforowania konfiguracja kontekstu nie może zmienić się między użyciem, a usługi o określonym zakresie wprowadzone do kontekstu zostaną rozwiązane tylko raz z zakresu początkowego. Należy rozważyć użycie puli DbContext tylko wtedy, gdy testowanie wydajności wskazuje, że zapewnia prawdziwy impuls.

Użyj tej metody podczas korzystania z iniekcji zależności w aplikacji, na przykład z ASP.NET Core. W przypadku aplikacji, które nie używają wstrzykiwania zależności, rozważ utworzenie DbContext wystąpień bezpośrednio z konstruktorem. OnConfiguring(DbContextOptionsBuilder) Następnie można zastąpić metodę w celu skonfigurowania parametrów połączenia i innych opcji.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

Aby uzyskać więcej informacji, zobacz Using DbContext with dependency injection and Using DbContext pooling (Używanie metody dbContext z iniekcją zależności) i Using DbContext pooling (Używanie puli dbContext).

To przeciążenie ma element optionsAction , który udostępnia aplikację IServiceProvider. Jest to przydatne, jeśli chcesz skonfigurować platformę Entity Framework Core, aby rozwiązać problemy z jej usługami wewnętrznymi od podstawowego dostawcy usług aplikacji. Domyślnie zalecamy użycie AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) programu Entity Framework, które umożliwia tworzenie i konserwację własnego IServiceProvider programu Entity Framework dla wewnętrznych usług Entity Framework.

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

Parametry typu

TContextService

Klasa lub interfejs, który będzie używany do rozpoznawania kontekstu z kontenera.

TContextImplementation

Konkretny typ implementacji do utworzenia.

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 konfiguracja opcji musi być wykonywana zewnętrznie; OnConfiguring(DbContextOptionsBuilder) nie zostanie wywołana.

poolSize
Int32

Ustawia maksymalną liczbę wystąpień zachowanych przez pulę. Wartość domyślna to 1024.

Zwraca

IServiceCollection

Ta sama kolekcja usług, dzięki czemu można połączyć wiele wywołań.

Dotyczy