EntityFrameworkServiceCollectionExtensions.AddPooledDbContextFactory 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
| Name | Beschreibung |
|---|---|
| AddPooledDbContextFactory<TContext>(IServiceCollection, Int32) |
Registriert einen Pool IDbContextFactory<TContext> für das IServiceCollection Erstellen von Instanzen des angegebenen DbContext Typs mithilfe einer benutzerdefinierten Poolgröße. |
| AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) |
Registriert eine IDbContextFactory<TContext> in der IServiceCollection Zum Erstellen von Instanzen des angegebenen DbContext Typs, in denen Instanzen für die Wiederverwendung in einem Pool zusammengefasst werden. |
| AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32) |
Registriert eine IDbContextFactory<TContext> in der IServiceCollection Zum Erstellen von Instanzen des angegebenen DbContext Typs, in denen Instanzen für die Wiederverwendung in einem Pool zusammengefasst werden. |
AddPooledDbContextFactory<TContext>(IServiceCollection, Int32)
Registriert einen Pool IDbContextFactory<TContext> für das IServiceCollection Erstellen von Instanzen des angegebenen DbContext Typs mithilfe einer benutzerdefinierten Poolgröße.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPooledDbContextFactory<TContext>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, int poolSize = 1024) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddPooledDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, Optional poolSize As Integer = 1024) As IServiceCollection
Typparameter
- TContext
Der Typ, der DbContext von der Factory erstellt werden soll.
Parameter
- serviceCollection
- IServiceCollection
Die IServiceCollection Dienste, zu denen die Dienste hinzugefügt werden.
- poolSize
- Int32
Die maximale Anzahl von TContext Instanzen, die vom Pool aufbewahrt werden. Der Standardwert ist 1024.
Gibt zurück
Dasselbe IServiceCollection , sodass mehrere Anrufe verkettet werden können.
Hinweise
Diese Überladung richtet sich an das zentrale EF Core-Konfigurationsmodell ConfigureDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime). und ermöglicht das Angeben eines benutzerdefinierten poolSize. Über diese Option konfigurierte ConfigureDbContext<TContext> Optionen werden automatisch verwendet, sodass die Konfiguration des Anbieters nicht wiederholt werden muss.
Verwenden Sie diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, z. B. mit ASP.NET Core. Für Anwendungen, die keine Abhängigkeitsinjektion verwenden, sollten Sie Instanzen direkt mit dem 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 Vorgänge, die parallel ausgeführt werden. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion, Verwenden von DbContext-Fabriken und Verwenden von DbContext-Pooling .
Gilt für:
AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)
Registriert eine IDbContextFactory<TContext> in der IServiceCollection Zum Erstellen von Instanzen des angegebenen DbContext Typs, in denen Instanzen für die Wiederverwendung in einem Pool zusammengefasst werden.
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;
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;
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 = 1024) As IServiceCollection
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
Typparameter
- TContext
Der Typ, der DbContext von der Factory erstellt werden soll.
Parameter
- serviceCollection
- IServiceCollection
Der IServiceCollection , dem Dienste hinzugefügt werden sollen.
- optionsAction
- Action<DbContextOptionsBuilder>
Eine erforderliche Aktion zum Konfigurieren des DbContextOptions Kontexts. Bei Verwendung von Kontextpooling müssen Optionen extern ausgeführt werden; OnConfiguring(DbContextOptionsBuilder) wird nicht aufgerufen.
- poolSize
- Int32
Legt die maximale Anzahl von Instanzen fest, die vom Pool aufbewahrt werden. Der Standardwert ist 1024.
Gibt zurück
Dieselbe Dienstauflistung, sodass mehrere Aufrufe verkettet werden können.
Hinweise
Das Registrieren einer Factory anstelle der direkten Registrierung des Kontexttyps ermöglicht die einfache Erstellung neuer DbContext Instanzen. Das Registrieren einer Factory wird für Blazor-Anwendungen und andere Situationen empfohlen, in denen der Bereich zum Einfügen von Abhängigkeiten nicht mit der Kontextlebensdauer übereinstimmt.
Verwenden Sie diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, z. B. mit Blazor. Für Anwendungen, die keine Abhängigkeitsinjektion verwenden, sollten Sie Instanzen direkt mit dem 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 Vorgänge, die parallel ausgeführt werden. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion, Verwenden von DbContext-Fabriken und Verwenden von DbContext-Pooling .
Gilt für:
AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)
Registriert eine IDbContextFactory<TContext> in der IServiceCollection Zum Erstellen von Instanzen des angegebenen DbContext Typs, in denen Instanzen für die Wiederverwendung in einem Pool zusammengefasst werden.
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;
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;
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 = 1024) As IServiceCollection
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
Typparameter
- TContext
Der Typ, der DbContext von der Factory erstellt werden soll.
Parameter
- serviceCollection
- IServiceCollection
Der IServiceCollection , dem Dienste hinzugefügt werden sollen.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Eine erforderliche Aktion zum Konfigurieren des DbContextOptions Kontexts. Bei Verwendung von Kontextpooling müssen Optionen extern ausgeführt werden; OnConfiguring(DbContextOptionsBuilder) wird nicht aufgerufen.
- poolSize
- Int32
Legt die maximale Anzahl von Instanzen fest, die vom Pool aufbewahrt werden. Der Standardwert ist 1024.
Gibt zurück
Dieselbe Dienstauflistung, sodass mehrere Aufrufe verkettet werden können.
Hinweise
Das Registrieren einer Factory anstelle der direkten Registrierung des Kontexttyps ermöglicht die einfache Erstellung neuer DbContext Instanzen. Das Registrieren einer Factory wird für Blazor-Anwendungen und andere Situationen empfohlen, in denen der Bereich zum Einfügen von Abhängigkeiten nicht mit der Kontextlebensdauer übereinstimmt.
Verwenden Sie diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, z. B. mit Blazor. Für Anwendungen, die keine Abhängigkeitsinjektion verwenden, sollten Sie Instanzen direkt mit dem 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 Vorgänge, die parallel ausgeführt werden. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion, Verwenden von DbContext-Fabriken und Verwenden von DbContext-Pooling .