EntityFrameworkServiceCollectionExtensions.AddDbContextPool Método

Definição

Sobrecargas

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<DbContextOptionsBuilder>

Uma ação necessária para configurar o DbContextOptions para o contexto. Ao usar o pool de contexto, a configuração de opções deve ser executada externamente; OnConfiguring(DbContextOptionsBuilder) não será chamado.

poolSize
Int32

Define o número máximo de instâncias retidas pelo pool. O padrão é 1024.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Comentários

O pooling de DbContext pode aumentar o desempenho em cenários de alta taxa de transferência reutilizando instâncias de contexto. No entanto, para a maioria dos aplicativos, esse ganho de desempenho é muito pequeno. Observe que, ao usar o pooling, a configuração de contexto não pode mudar entre usos e os serviços com escopo injetados no contexto só serão resolvidos uma vez do escopo inicial. Considere usar apenas o pool de DbContext quando o teste de desempenho indicar que ele fornece um aumento real.

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência e Usando o pooling DbContext para obter mais informações e exemplos.

Aplica-se a

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Uma ação necessária para configurar o DbContextOptions para o contexto. Ao usar o pool de contexto, a configuração de opções deve ser executada externamente; OnConfiguring(DbContextOptionsBuilder) não será chamado.

poolSize
Int32

Define o número máximo de instâncias retidas pelo pool. O padrão é 1024.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Comentários

O pooling de DbContext pode aumentar o desempenho em cenários de alta taxa de transferência reutilizando instâncias de contexto. No entanto, para a maioria dos aplicativos, esse ganho de desempenho é muito pequeno. Observe que, ao usar o pooling, a configuração de contexto não pode mudar entre usos e os serviços com escopo injetados no contexto só serão resolvidos uma vez do escopo inicial. Considere usar apenas o pool de DbContext quando o teste de desempenho indicar que ele fornece um aumento real.

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência e Usando o pooling DbContext para obter mais informações e exemplos.

Essa sobrecarga tem um optionsAction que fornece o do IServiceProvideraplicativo. Isso será útil se você quiser configurar o Entity Framework Core para resolve seus serviços internos do provedor de serviços de aplicativo primário. Por padrão, recomendamos usar AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) o que permite que o Entity Framework crie e mantenha o próprio IServiceProvider para serviços internos do Entity Framework.

Aplica-se a

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Parâmetros de tipo

TContextService

A classe ou interface que será usada para resolve o contexto do contêiner.

TContextImplementation

O tipo de implementação concreto a ser criado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<DbContextOptionsBuilder>

Uma ação necessária para configurar o DbContextOptions para o contexto. Ao usar o pool de contexto, a configuração de opções deve ser executada externamente; OnConfiguring(DbContextOptionsBuilder) não será chamado.

poolSize
Int32

Define o número máximo de instâncias retidas pelo pool. O padrão é 1024.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Comentários

O pooling de DbContext pode aumentar o desempenho em cenários de alta taxa de transferência reutilizando instâncias de contexto. No entanto, para a maioria dos aplicativos, esse ganho de desempenho é muito pequeno. Observe que, ao usar o pooling, a configuração de contexto não pode mudar entre usos e os serviços com escopo injetados no contexto só serão resolvidos uma vez do escopo inicial. Considere usar apenas o pool de DbContext quando o teste de desempenho indicar que ele fornece um aumento real.

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência e Usando o pooling DbContext para obter mais informações e exemplos.

Aplica-se a

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

Registra o especificado DbContext como um serviço no e habilita o IServiceCollectionpool de DbContext para esse registro.

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

Parâmetros de tipo

TContextService

A classe ou interface que será usada para resolve o contexto do contêiner.

TContextImplementation

O tipo de implementação concreto a ser criado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Uma ação necessária para configurar o DbContextOptions para o contexto. Ao usar o pool de contexto, a configuração de opções deve ser executada externamente; OnConfiguring(DbContextOptionsBuilder) não será chamado.

poolSize
Int32

Define o número máximo de instâncias retidas pelo pool. O padrão é 1024.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Comentários

O pooling de DbContext pode aumentar o desempenho em cenários de alta taxa de transferência reutilizando instâncias de contexto. No entanto, para a maioria dos aplicativos, esse ganho de desempenho é muito pequeno. Observe que, ao usar o pooling, a configuração de contexto não pode mudar entre usos e os serviços com escopo injetados no contexto só serão resolvidos uma vez do escopo inicial. Considere usar apenas o pool de DbContext quando o teste de desempenho indicar que ele fornece um aumento real.

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência e Usando o pooling DbContext para obter mais informações e exemplos.

Essa sobrecarga tem um optionsAction que fornece o do IServiceProvideraplicativo. Isso será útil se você quiser configurar o Entity Framework Core para resolve seus serviços internos do provedor de serviços de aplicativo primário. Por padrão, recomendamos usar AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) o que permite que o Entity Framework crie e mantenha o próprio IServiceProvider para serviços internos do Entity Framework.

Aplica-se a