EntityFrameworkServiceCollectionExtensions.AddDbContextPool Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung. |
AddDbContextPool<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung. |
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung. |
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung. |
AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung.
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
Typparameter
- TContext
Der Typ des zu registrierenden Kontexts.
Parameter
- serviceCollection
- IServiceCollection
Die IServiceCollection, der Dienste hinzugefügt werden sollen.
- optionsAction
- Action<DbContextOptionsBuilder>
Eine erforderliche Aktion zum Konfigurieren von DbContextOptions für den Kontext. Bei Verwendung von Kontextpooling muss die Optionenkonfiguration extern ausgeführt werden. OnConfiguring(DbContextOptionsBuilder) wird nicht aufgerufen.
- poolSize
- Int32
Legt die maximale Anzahl von Instanzen fest, die vom Pool beibehalten werden. Der Standardwert ist 1024.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Hinweise
DbContext-Pooling kann die Leistung in Szenarien mit hohem Durchsatz erhöhen, indem Kontextinstanzen erneut verwendet werden. Für die meisten Anwendungen ist dieser Leistungsgewinn jedoch sehr gering. Beachten Sie, dass bei Verwendung von Pooling die Kontextkonfiguration zwischen Verwendungen nicht geändert werden kann, und bereichsbezogene Dienste, die in den Kontext eingefügt werden, werden nur einmal aus dem ursprünglichen Bereich aufgelöst. Erwägen Sie die Verwendung von DbContext-Pooling nur, wenn Leistungstests darauf hindeuten, dass es einen echten Schub bietet.
Verwenden Sie diese Methode, wenn Sie die Abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET Core. Für Anwendungen, die keine Abhängigkeitsinjektion verwenden, sollten Sie Instanzen direkt mit dem zugehörigen Konstruktor erstellen DbContext . Die OnConfiguring(DbContextOptionsBuilder) -Methode kann dann überschrieben werden, um eine Verbindungszeichenfolge und andere Optionen zu konfigurieren.
Entity Framework Core unterstützt nicht die Ausführung mehrerer paralleler Vorgänge, die für dieselbe DbContext-Instanz ausgeführt werden. Dies schließt die parallele Ausführung von asynchronen Abfragen und jede explizite gleichzeitige Verwendung aus mehreren Threads ein. Warten Sie daher immer sofort auf asynchrone Aufrufe, oder verwenden Sie separate DbContext-Instanzen für parallel ausgeführte Vorgänge. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion und Verwenden von DbContext-Pooling .
Gilt für:
AddDbContextPool<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung.
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
Typparameter
- TContext
Der Typ des zu registrierenden Kontexts.
Parameter
- serviceCollection
- IServiceCollection
Die IServiceCollection, der Dienste hinzugefügt werden sollen.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Eine erforderliche Aktion zum Konfigurieren von DbContextOptions für den Kontext. Bei Verwendung von Kontextpooling muss die Optionenkonfiguration extern ausgeführt werden. OnConfiguring(DbContextOptionsBuilder) wird nicht aufgerufen.
- poolSize
- Int32
Legt die maximale Anzahl von Instanzen fest, die vom Pool beibehalten werden. Der Standardwert ist 1024.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Hinweise
DbContext-Pooling kann die Leistung in Szenarien mit hohem Durchsatz erhöhen, indem Kontextinstanzen erneut verwendet werden. Für die meisten Anwendungen ist dieser Leistungsgewinn jedoch sehr gering. Beachten Sie, dass bei Verwendung von Pooling die Kontextkonfiguration zwischen Verwendungen nicht geändert werden kann, und bereichsbezogene Dienste, die in den Kontext eingefügt werden, werden nur einmal aus dem ursprünglichen Bereich aufgelöst. Erwägen Sie die Verwendung von DbContext-Pooling nur, wenn Leistungstests darauf hindeuten, dass es einen echten Schub bietet.
Verwenden Sie diese Methode, wenn Sie die Abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET Core. Für Anwendungen, die keine Abhängigkeitsinjektion verwenden, sollten Sie Instanzen direkt mit dem zugehörigen Konstruktor erstellen DbContext . Die OnConfiguring(DbContextOptionsBuilder) -Methode kann dann überschrieben werden, um eine Verbindungszeichenfolge und andere Optionen zu konfigurieren.
Entity Framework Core unterstützt nicht die Ausführung mehrerer paralleler Vorgänge, die für dieselbe DbContext-Instanz ausgeführt werden. Dies schließt die parallele Ausführung von asynchronen Abfragen und jede explizite gleichzeitige Verwendung aus mehreren Threads ein. Warten Sie daher immer sofort auf asynchrone Aufrufe, oder verwenden Sie separate DbContext-Instanzen für parallel ausgeführte Vorgänge. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion und Verwenden von DbContext-Pooling .
Diese Überladung verfügt über eine optionsAction
, die die -Instanz der Anwendung IServiceProviderbereitstellt. Dies ist nützlich, wenn Sie Entity Framework Core einrichten möchten, um seine internen Dienste vom primären Anwendungsdienstanbieter aufzulösen. Standardmäßig wird die Verwendung von AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) empfohlen, mit der Entity Framework eigene IServiceProvider Für interne Entity Framework-Dienste erstellen und verwalten kann.
Gilt für:
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung.
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
Typparameter
- TContextService
Die Klasse oder Schnittstelle, die verwendet wird, um den Kontext aus dem Container aufzulösen.
- TContextImplementation
Der zu erstellende konkrete Implementierungstyp.
Parameter
- serviceCollection
- IServiceCollection
Die IServiceCollection, der Dienste hinzugefügt werden sollen.
- optionsAction
- Action<DbContextOptionsBuilder>
Eine erforderliche Aktion zum Konfigurieren von DbContextOptions für den Kontext. Bei Verwendung von Kontextpooling muss die Optionenkonfiguration extern ausgeführt werden. OnConfiguring(DbContextOptionsBuilder) wird nicht aufgerufen.
- poolSize
- Int32
Legt die maximale Anzahl von Instanzen fest, die vom Pool beibehalten werden. Der Standardwert ist 1024.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Hinweise
DbContext-Pooling kann die Leistung in Szenarien mit hohem Durchsatz erhöhen, indem Kontextinstanzen erneut verwendet werden. Für die meisten Anwendungen ist dieser Leistungsgewinn jedoch sehr gering. Beachten Sie, dass bei Verwendung von Pooling die Kontextkonfiguration zwischen Verwendungen nicht geändert werden kann, und bereichsbezogene Dienste, die in den Kontext eingefügt werden, werden nur einmal aus dem ursprünglichen Bereich aufgelöst. Erwägen Sie die Verwendung von DbContext-Pooling nur, wenn Leistungstests darauf hindeuten, dass es einen echten Schub bietet.
Verwenden Sie diese Methode, wenn Sie die Abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET Core. Für Anwendungen, die keine Abhängigkeitsinjektion verwenden, sollten Sie Instanzen direkt mit dem zugehörigen Konstruktor erstellen DbContext . Die OnConfiguring(DbContextOptionsBuilder) -Methode kann dann überschrieben werden, um eine Verbindungszeichenfolge und andere Optionen zu konfigurieren.
Entity Framework Core unterstützt nicht die Ausführung mehrerer paralleler Vorgänge, die für dieselbe DbContext-Instanz ausgeführt werden. Dies schließt die parallele Ausführung von asynchronen Abfragen und jede explizite gleichzeitige Verwendung aus mehreren Threads ein. Warten Sie daher immer sofort auf asynchrone Aufrufe, oder verwenden Sie separate DbContext-Instanzen für parallel ausgeführte Vorgänge. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion und Verwenden von DbContext-Pooling .
Gilt für:
AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Registriert die angegebene DbContext als Dienst in und IServiceCollectionaktiviert dbContext-Pooling für diese Registrierung.
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
Typparameter
- TContextService
Die Klasse oder Schnittstelle, die verwendet wird, um den Kontext aus dem Container aufzulösen.
- TContextImplementation
Der zu erstellende konkrete Implementierungstyp.
Parameter
- serviceCollection
- IServiceCollection
Die IServiceCollection, der Dienste hinzugefügt werden sollen.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Eine erforderliche Aktion zum Konfigurieren von DbContextOptions für den Kontext. Bei Verwendung von Kontextpooling muss die Optionenkonfiguration extern ausgeführt werden. OnConfiguring(DbContextOptionsBuilder) wird nicht aufgerufen.
- poolSize
- Int32
Legt die maximale Anzahl von Instanzen fest, die vom Pool beibehalten werden. Der Standardwert ist 1024.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Hinweise
DbContext-Pooling kann die Leistung in Szenarien mit hohem Durchsatz erhöhen, indem Kontextinstanzen erneut verwendet werden. Für die meisten Anwendungen ist dieser Leistungsgewinn jedoch sehr gering. Beachten Sie, dass bei Verwendung von Pooling die Kontextkonfiguration zwischen Verwendungen nicht geändert werden kann, und bereichsbezogene Dienste, die in den Kontext eingefügt werden, werden nur einmal aus dem ursprünglichen Bereich aufgelöst. Erwägen Sie die Verwendung von DbContext-Pooling nur, wenn Leistungstests darauf hindeuten, dass es einen echten Schub bietet.
Verwenden Sie diese Methode, wenn Sie die Abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET Core. Für Anwendungen, die keine Abhängigkeitsinjektion verwenden, sollten Sie Instanzen direkt mit dem zugehörigen Konstruktor erstellen DbContext . Die OnConfiguring(DbContextOptionsBuilder) -Methode kann dann überschrieben werden, um eine Verbindungszeichenfolge und andere Optionen zu konfigurieren.
Entity Framework Core unterstützt nicht die Ausführung mehrerer paralleler Vorgänge, die für dieselbe DbContext-Instanz ausgeführt werden. Dies schließt die parallele Ausführung von asynchronen Abfragen und jede explizite gleichzeitige Verwendung aus mehreren Threads ein. Warten Sie daher immer sofort auf asynchrone Aufrufe, oder verwenden Sie separate DbContext-Instanzen für parallel ausgeführte Vorgänge. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion und Verwenden von DbContext-Pooling .
Diese Überladung verfügt über eine optionsAction
, die die -Instanz der Anwendung IServiceProviderbereitstellt. Dies ist nützlich, wenn Sie Entity Framework Core einrichten möchten, um seine internen Dienste vom primären Anwendungsdienstanbieter aufzulösen. Standardmäßig wird die Verwendung von AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) empfohlen, mit der Entity Framework eigene IServiceProvider Für interne Entity Framework-Dienste erstellen und verwalten kann.
Gilt für:
Entity Framework