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
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.