EntityFrameworkServiceCollectionExtensions.AddDbContextPool Método

Definición

Sobrecargas

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este registro.

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este registro.

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este registro.

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este registro.

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este 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

Tipo de contexto que se va a registrar.

Parámetros

serviceCollection
IServiceCollection

La interfaz IServiceCollection a la que se van a agregar los servicios.

optionsAction
Action<DbContextOptionsBuilder>

Una acción necesaria para configurar para DbContextOptions el contexto. Al usar la agrupación de contextos, la configuración de opciones debe realizarse externamente; OnConfiguring(DbContextOptionsBuilder) no se llamará a .

poolSize
Int32

Establece el número máximo de instancias conservadas por el grupo. El valor predeterminado es 1024.

Devoluciones

La misma colección de servicios para que se puedan encadenar varias llamadas.

Comentarios

La agrupación de DbContext puede aumentar el rendimiento en escenarios de alto rendimiento mediante el uso de instancias de contexto. Sin embargo, para la mayoría de las aplicaciones, esta ganancia de rendimiento es muy pequeña. Tenga en cuenta que, al usar la agrupación, la configuración de contexto no puede cambiar entre los usos y los servicios con ámbito insertados en el contexto solo se resolverán una vez desde el ámbito inicial. Considere la posibilidad de usar la agrupación de DbContext cuando las pruebas de rendimiento indican que proporciona un aumento real.

Use este método al usar la inserción de dependencias en la aplicación, como con ASP.NET Core. En el caso de las aplicaciones que no usan la inserción de dependencias, considere la posibilidad de crear DbContext instancias directamente con su constructor. A OnConfiguring(DbContextOptionsBuilder) continuación, el método se puede invalidar para configurar una cadena de conexión y otras opciones.

Entity Framework Core no admite que varias operaciones en paralelo se ejecuten en la misma instancia de DbContext. Esto incluye la ejecución en paralelo de consultas asincrónicas y cualquier uso simultáneo explícito desde varios subprocesos. Por lo tanto, espere siempre llamadas asincrónicas inmediatamente o use instancias de DbContext independientes para las operaciones que se ejecutan en paralelo. Consulte Evitar problemas de subprocesos de DbContext para obtener más información y ejemplos.

Consulte Uso de DbContext con inserción de dependencias y Uso de la agrupación de DbContext para obtener más información y ejemplos.

Se aplica a

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este 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

Tipo de contexto que se va a registrar.

Parámetros

serviceCollection
IServiceCollection

La interfaz IServiceCollection a la que se van a agregar los servicios.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Una acción necesaria para configurar para DbContextOptions el contexto. Al usar la agrupación de contextos, la configuración de opciones debe realizarse externamente; OnConfiguring(DbContextOptionsBuilder) no se llamará a .

poolSize
Int32

Establece el número máximo de instancias conservadas por el grupo. El valor predeterminado es 1024.

Devoluciones

La misma colección de servicios para que se puedan encadenar varias llamadas.

Comentarios

La agrupación de DbContext puede aumentar el rendimiento en escenarios de alto rendimiento mediante el uso de instancias de contexto. Sin embargo, para la mayoría de las aplicaciones, esta ganancia de rendimiento es muy pequeña. Tenga en cuenta que, al usar la agrupación, la configuración de contexto no puede cambiar entre los usos y los servicios con ámbito insertados en el contexto solo se resolverán una vez desde el ámbito inicial. Considere la posibilidad de usar la agrupación de DbContext cuando las pruebas de rendimiento indican que proporciona un aumento real.

Use este método al usar la inserción de dependencias en la aplicación, como con ASP.NET Core. En el caso de las aplicaciones que no usan la inserción de dependencias, considere la posibilidad de crear DbContext instancias directamente con su constructor. A OnConfiguring(DbContextOptionsBuilder) continuación, el método se puede invalidar para configurar una cadena de conexión y otras opciones.

Entity Framework Core no admite que varias operaciones en paralelo se ejecuten en la misma instancia de DbContext. Esto incluye la ejecución en paralelo de consultas asincrónicas y cualquier uso simultáneo explícito desde varios subprocesos. Por lo tanto, espere siempre llamadas asincrónicas inmediatamente o use instancias de DbContext independientes para las operaciones que se ejecutan en paralelo. Consulte Evitar problemas de subprocesos de DbContext para obtener más información y ejemplos.

Consulte Uso de DbContext con inserción de dependencias y Uso de la agrupación de DbContext para obtener más información y ejemplos.

Esta sobrecarga tiene un optionsAction objeto que proporciona la aplicación IServiceProvider. Esto resulta útil si desea configurar Entity Framework Core para resolver sus servicios internos desde el proveedor de servicios de aplicación principal. De forma predeterminada, se recomienda usar AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) , que permite a Entity Framework crear y mantener sus propios IServiceProvider servicios internos de Entity Framework.

Se aplica a

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este 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

Clase o interfaz que se usará para resolver el contexto del contenedor.

TContextImplementation

Tipo de implementación concreto que se va a crear.

Parámetros

serviceCollection
IServiceCollection

La interfaz IServiceCollection a la que se van a agregar los servicios.

optionsAction
Action<DbContextOptionsBuilder>

Una acción necesaria para configurar para DbContextOptions el contexto. Al usar la agrupación de contextos, la configuración de opciones debe realizarse externamente; OnConfiguring(DbContextOptionsBuilder) no se llamará a .

poolSize
Int32

Establece el número máximo de instancias conservadas por el grupo. El valor predeterminado es 1024.

Devoluciones

La misma colección de servicios para que se puedan encadenar varias llamadas.

Comentarios

La agrupación de DbContext puede aumentar el rendimiento en escenarios de alto rendimiento mediante el uso de instancias de contexto. Sin embargo, para la mayoría de las aplicaciones, esta ganancia de rendimiento es muy pequeña. Tenga en cuenta que, al usar la agrupación, la configuración de contexto no puede cambiar entre los usos y los servicios con ámbito insertados en el contexto solo se resolverán una vez desde el ámbito inicial. Considere la posibilidad de usar la agrupación de DbContext cuando las pruebas de rendimiento indican que proporciona un aumento real.

Use este método al usar la inserción de dependencias en la aplicación, como con ASP.NET Core. En el caso de las aplicaciones que no usan la inserción de dependencias, considere la posibilidad de crear DbContext instancias directamente con su constructor. A OnConfiguring(DbContextOptionsBuilder) continuación, el método se puede invalidar para configurar una cadena de conexión y otras opciones.

Entity Framework Core no admite que varias operaciones en paralelo se ejecuten en la misma instancia de DbContext. Esto incluye la ejecución en paralelo de consultas asincrónicas y cualquier uso simultáneo explícito desde varios subprocesos. Por lo tanto, espere siempre llamadas asincrónicas inmediatamente o use instancias de DbContext independientes para las operaciones que se ejecutan en paralelo. Consulte Evitar problemas de subprocesos de DbContext para obtener más información y ejemplos.

Consulte Uso de DbContext con inserción de dependencias y Uso de la agrupación de DbContext para obtener más información y ejemplos.

Se aplica a

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

Registra el especificado DbContext como servicio en IServiceCollectiony habilita la agrupación de DbContext para este 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

Clase o interfaz que se usará para resolver el contexto del contenedor.

TContextImplementation

Tipo de implementación concreto que se va a crear.

Parámetros

serviceCollection
IServiceCollection

La interfaz IServiceCollection a la que se van a agregar los servicios.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Una acción necesaria para configurar para DbContextOptions el contexto. Al usar la agrupación de contextos, la configuración de opciones debe realizarse externamente; OnConfiguring(DbContextOptionsBuilder) no se llamará a .

poolSize
Int32

Establece el número máximo de instancias conservadas por el grupo. El valor predeterminado es 1024.

Devoluciones

La misma colección de servicios para que se puedan encadenar varias llamadas.

Comentarios

La agrupación de DbContext puede aumentar el rendimiento en escenarios de alto rendimiento mediante el uso de instancias de contexto. Sin embargo, para la mayoría de las aplicaciones, esta ganancia de rendimiento es muy pequeña. Tenga en cuenta que, al usar la agrupación, la configuración de contexto no puede cambiar entre los usos y los servicios con ámbito insertados en el contexto solo se resolverán una vez desde el ámbito inicial. Considere la posibilidad de usar la agrupación de DbContext cuando las pruebas de rendimiento indican que proporciona un aumento real.

Use este método al usar la inserción de dependencias en la aplicación, como con ASP.NET Core. En el caso de las aplicaciones que no usan la inserción de dependencias, considere la posibilidad de crear DbContext instancias directamente con su constructor. A OnConfiguring(DbContextOptionsBuilder) continuación, el método se puede invalidar para configurar una cadena de conexión y otras opciones.

Entity Framework Core no admite que varias operaciones en paralelo se ejecuten en la misma instancia de DbContext. Esto incluye la ejecución en paralelo de consultas asincrónicas y cualquier uso simultáneo explícito desde varios subprocesos. Por lo tanto, espere siempre llamadas asincrónicas inmediatamente o use instancias de DbContext independientes para las operaciones que se ejecutan en paralelo. Consulte Evitar problemas de subprocesos de DbContext para obtener más información y ejemplos.

Consulte Uso de DbContext con inserción de dependencias y Uso de la agrupación de DbContext para obtener más información y ejemplos.

Esta sobrecarga tiene un optionsAction objeto que proporciona la aplicación IServiceProvider. Esto resulta útil si desea configurar Entity Framework Core para resolver sus servicios internos desde el proveedor de servicios de aplicación principal. De forma predeterminada, se recomienda usar AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) , que permite a Entity Framework crear y mantener sus propios IServiceProvider servicios internos de Entity Framework.

Se aplica a