EntityFrameworkServiceCollectionExtensions.AddDbContextPool Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Registra l'oggetto specificato DbContext come servizio in IServiceCollectione abilita il pool DbContext per questa registrazione. |
| AddDbContextPool<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Registra l'oggetto specificato DbContext come servizio in IServiceCollectione abilita il pool DbContext per questa registrazione. |
| AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Registra l'oggetto specificato DbContext come servizio in IServiceCollectione abilita il pool DbContext per questa registrazione. |
| AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Registra l'oggetto specificato DbContext come servizio in IServiceCollectione abilita il pool DbContext per questa registrazione. |
AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)
Registra l'oggetto specificato DbContext come servizio in IServiceCollectione abilita il pool 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 = 1024) 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 = 128) 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 = 1024) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
Parametri di tipo
- TContext
Tipo di contesto da registrare.
Parametri
- serviceCollection
- IServiceCollection
Oggetto IServiceCollection a cui aggiungere servizi.
- optionsAction
- Action<DbContextOptionsBuilder>
Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesto, 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.
Valori restituiti
La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.
Commenti
Il pooling DbContext può migliorare le prestazioni negli scenari a velocità effettiva elevata usando nuovamente le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo miglioramento delle 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. È consigliabile usare il pooling DbContext solo quando il test delle prestazioni indica che offre un aumento reale.
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. È quindi possibile eseguire l'override del OnConfiguring(DbContextOptionsBuilder) metodo per configurare un 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 sempre le chiamate asincrone immediatamente 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 con inserimento delle dipendenze e Uso del pooling DbContext .
Si applica a
AddDbContextPool<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Registra l'oggetto specificato DbContext come servizio in IServiceCollectione abilita il pool 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 = 1024) 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 = 128) 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 = 1024) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
Parametri di tipo
- TContext
Tipo di contesto da registrare.
Parametri
- serviceCollection
- IServiceCollection
Oggetto IServiceCollection a cui aggiungere servizi.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesto, 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.
Valori restituiti
La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.
Commenti
Il pooling DbContext può migliorare le prestazioni negli scenari a velocità effettiva elevata usando nuovamente le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo miglioramento delle 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. È consigliabile usare il pooling DbContext solo quando il test delle prestazioni indica che offre un aumento reale.
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. È quindi possibile eseguire l'override del OnConfiguring(DbContextOptionsBuilder) metodo per configurare un 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 sempre le chiamate asincrone immediatamente 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 con inserimento delle dipendenze e Uso del pooling DbContext .
Questo overload include un oggetto optionsAction che fornisce l'oggetto dell'applicazione IServiceProvider. Ciò è utile se si vuole configurare Entity Framework Core risolvere i servizi interni dal provider di servizi dell'applicazione primario. Per impostazione predefinita, è consigliabile usare AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) 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 specificato DbContext come servizio in IServiceCollectione abilita il pool 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 = 1024) 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 = 128) 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 = 1024) 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 = 128) As IServiceCollection
Parametri di tipo
- TContextService
Classe o interfaccia che verrà usata per risolvere il contesto dal contenitore.
- TContextImplementation
Tipo di implementazione concreto da creare.
Parametri
- serviceCollection
- IServiceCollection
Oggetto IServiceCollection a cui aggiungere servizi.
- optionsAction
- Action<DbContextOptionsBuilder>
Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesto, 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.
Valori restituiti
La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.
Commenti
Il pooling DbContext può migliorare le prestazioni negli scenari a velocità effettiva elevata usando nuovamente le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo miglioramento delle 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. È consigliabile usare il pooling DbContext solo quando il test delle prestazioni indica che offre un aumento reale.
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. È quindi possibile eseguire l'override del OnConfiguring(DbContextOptionsBuilder) metodo per configurare un 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 sempre le chiamate asincrone immediatamente 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 con inserimento delle dipendenze e Uso del pooling DbContext .
Si applica a
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Registra l'oggetto specificato DbContext come servizio in IServiceCollectione abilita il pool 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 = 1024) 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 = 128) 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 = 1024) 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 = 128) As IServiceCollection
Parametri di tipo
- TContextService
Classe o interfaccia che verrà usata per risolvere il contesto dal contenitore.
- TContextImplementation
Tipo di implementazione concreto da creare.
Parametri
- serviceCollection
- IServiceCollection
Oggetto IServiceCollection a cui aggiungere servizi.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Azione necessaria per configurare l'oggetto DbContextOptions per il contesto. Quando si usa il pool di contesto, 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.
Valori restituiti
La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.
Commenti
Il pooling DbContext può migliorare le prestazioni negli scenari a velocità effettiva elevata usando nuovamente le istanze di contesto. Tuttavia, per la maggior parte dell'applicazione questo miglioramento delle 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. È consigliabile usare il pooling DbContext solo quando il test delle prestazioni indica che offre un aumento reale.
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. È quindi possibile eseguire l'override del OnConfiguring(DbContextOptionsBuilder) metodo per configurare un 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 sempre le chiamate asincrone immediatamente 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 con inserimento delle dipendenze e Uso del pooling DbContext .
Questo overload include un oggetto optionsAction che fornisce l'oggetto dell'applicazione IServiceProvider. Ciò è utile se si vuole configurare Entity Framework Core risolvere i servizi interni dal provider di servizi dell'applicazione primario. Per impostazione predefinita, è consigliabile usare AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) che consente a Entity Framework di creare e mantenere il proprio IServiceProvider per i servizi di Entity Framework interni.