Compartir a través de


EntityFrameworkServiceCollectionExtensions.AddPooledDbContextFactory Método

Definición

Sobrecargas

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

Registra un IDbContextFactory<TContext> en para crear instancias de un tipo determinado DbContext en el IServiceCollection que se agrupan instancias para su reutilización.

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

Registra un IDbContextFactory<TContext> en para crear instancias de un tipo determinado DbContext en el IServiceCollection que se agrupan instancias para su reutilización.

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

Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs

Registra un IDbContextFactory<TContext> en para crear instancias de un tipo determinado DbContext en el IServiceCollection que se agrupan instancias para su reutilización.

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

Parámetros de tipo

TContext

Tipo de que DbContext va a crear la fábrica.

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

Registrar una fábrica en lugar de registrar el tipo de contexto directamente permite crear fácilmente nuevas DbContext instancias. Se recomienda registrar un generador para las aplicaciones Blazor y otras situaciones en las que el ámbito de inserción de dependencias no está alineado con la duración del contexto.

Use este método al usar la inserción de dependencias en la aplicación, como con Blazor. 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, Uso de generadores de DbContext y Uso de la agrupación de DbContext para obtener más información y ejemplos.

Se aplica a

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

Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs

Registra un IDbContextFactory<TContext> en para crear instancias de un tipo determinado DbContext en el IServiceCollection que se agrupan instancias para su reutilización.

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

Parámetros de tipo

TContext

Tipo de que DbContext va a crear la fábrica.

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

Registrar una fábrica en lugar de registrar el tipo de contexto directamente permite crear fácilmente nuevas DbContext instancias. Se recomienda registrar un generador para las aplicaciones Blazor y otras situaciones en las que el ámbito de inserción de dependencias no está alineado con la duración del contexto.

Use este método al usar la inserción de dependencias en la aplicación, como con Blazor. 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, Uso de generadores de DbContext y Uso de la agrupación de DbContext para obtener más información y ejemplos.

Se aplica a