EntityFrameworkServiceCollectionExtensions.AddDbContextPool Metodo

Definizione

Overload

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<DbContextOptionsBuilder>

Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesti, la configurazione delle opzioni deve essere eseguita esternamente; OnConfiguring(DbContextOptionsBuilder) non verrà chiamato.

poolSize
Int32

Imposta il numero massimo di istanze mantenute dal pool. Il valore predefinito è 1024.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Commenti

Il pooling dbContext può aumentare le prestazioni negli scenari con velocità effettiva elevata usando di nuovo le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo guadagno di prestazioni è molto piccolo. Si noti che quando si usa il pooling, la configurazione del contesto non può cambiare tra gli usi e i servizi con ambito inseriti nel contesto verranno risolti una sola volta dall'ambito iniziale. Si consideri solo l'uso del pool dbContext quando il test delle prestazioni indica che offre una reale spinta.

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext coninserimento delle dipendenze e uso del pooling DbContext .

Si applica a

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesti, la configurazione delle opzioni deve essere eseguita esternamente; OnConfiguring(DbContextOptionsBuilder) non verrà chiamato.

poolSize
Int32

Imposta il numero massimo di istanze mantenute dal pool. Il valore predefinito è 1024.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Commenti

Il pooling dbContext può aumentare le prestazioni negli scenari con velocità effettiva elevata usando di nuovo le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo guadagno di prestazioni è molto piccolo. Si noti che quando si usa il pooling, la configurazione del contesto non può cambiare tra gli usi e i servizi con ambito inseriti nel contesto verranno risolti una sola volta dall'ambito iniziale. Si consideri solo l'uso del pool dbContext quando il test delle prestazioni indica che offre una reale spinta.

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext coninserimento delle dipendenze e uso del pooling DbContext .

Questo overload include un optionsAction oggetto che fornisce l'oggetto dell'applicazione IServiceProvider. Questo è utile se si vuole configurare Entity Framework Core per risolvere i servizi interni dal provider di servizi applicazione primario. Per impostazione predefinita, è consigliabile usare AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) il che consente a Entity Framework di creare e mantenere il proprio IServiceProvider per i servizi Di Entity Framework interni.

Si applica a

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Parametri di tipo

TContextService

Classe o interfaccia che verrà usata per risolvere il contesto dal contenitore.

TContextImplementation

Tipo di implementazione concreta da creare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<DbContextOptionsBuilder>

Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesti, la configurazione delle opzioni deve essere eseguita esternamente; OnConfiguring(DbContextOptionsBuilder) non verrà chiamato.

poolSize
Int32

Imposta il numero massimo di istanze mantenute dal pool. Il valore predefinito è 1024.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Commenti

Il pooling dbContext può aumentare le prestazioni negli scenari con velocità effettiva elevata usando di nuovo le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo guadagno di prestazioni è molto piccolo. Si noti che quando si usa il pooling, la configurazione del contesto non può cambiare tra gli usi e i servizi con ambito inseriti nel contesto verranno risolti una sola volta dall'ambito iniziale. Si consideri solo l'uso del pool dbContext quando il test delle prestazioni indica che offre una reale spinta.

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext coninserimento delle dipendenze e uso del pooling DbContext .

Si applica a

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

Registra l'oggetto IServiceCollectionspecificato DbContext come servizio in e abilita il pooling DbContext per questa registrazione.

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

Parametri di tipo

TContextService

Classe o interfaccia che verrà usata per risolvere il contesto dal contenitore.

TContextImplementation

Tipo di implementazione concreta da creare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesti, la configurazione delle opzioni deve essere eseguita esternamente; OnConfiguring(DbContextOptionsBuilder) non verrà chiamato.

poolSize
Int32

Imposta il numero massimo di istanze mantenute dal pool. Il valore predefinito è 1024.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Commenti

Il pooling dbContext può aumentare le prestazioni negli scenari con velocità effettiva elevata usando di nuovo le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo guadagno di prestazioni è molto piccolo. Si noti che quando si usa il pooling, la configurazione del contesto non può cambiare tra gli usi e i servizi con ambito inseriti nel contesto verranno risolti una sola volta dall'ambito iniziale. Si consideri solo l'uso del pool dbContext quando il test delle prestazioni indica che offre una reale spinta.

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext coninserimento delle dipendenze e uso del pooling DbContext .

Questo overload include un optionsAction oggetto che fornisce l'oggetto dell'applicazione IServiceProvider. Questo è utile se si vuole configurare Entity Framework Core per risolvere i servizi interni dal provider di servizi applicazione primario. Per impostazione predefinita, è consigliabile usare AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) il che consente a Entity Framework di creare e mantenere il proprio IServiceProvider per i servizi Di Entity Framework interni.

Si applica a