EntityFrameworkServiceCollectionExtensions.AddDbContext 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
AddDbContext<TContext>(IServiceCollection, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection Sie verwenden diese Methode, wenn Sie abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890. |
AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection |
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection Sie verwenden diese Methode, wenn Sie abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890. |
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection Sie verwenden diese Methode, wenn Sie abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890.
Diese Überladung verfügt über eine |
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection |
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection |
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection |
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection |
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Registriert den angegebenen Kontext als Dienst in .IServiceCollection |
AddDbContext<TContext>(IServiceCollection, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst in .IServiceCollection Sie verwenden diese Methode, wenn Sie abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, contextLifetime As ServiceLifetime) As IServiceCollection
Typparameter
- TContext
Der Typ des zu registrierenden Kontexts.
Parameter
- serviceCollection
- IServiceCollection
Die IServiceCollection, der Dienste hinzugefügt werden sollen.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}
Gilt für:
AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst in .IServiceCollection
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, contextLifetime As ServiceLifetime, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) As IServiceCollection
Typparameter
- TContext
Der Typ des zu registrierenden Kontexts.
Parameter
- serviceCollection
- IServiceCollection
Die IServiceCollection, der Dienste hinzugefügt werden sollen.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
- optionsLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContextOptions-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}
Hinweise
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 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 Problemen beim DbContext-Threading .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion .
Gilt für:
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst in .IServiceCollection Sie verwenden diese Methode, wenn Sie abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) 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 optionale Aktion zum Konfigurieren von DbContextOptions für den Kontext. Dies bietet eine Alternative zur Konfiguration des Kontexts, indem die OnConfiguring(DbContextOptionsBuilder) -Methode im abgeleiteten Kontext überschrieben wird.
Wenn hier eine Aktion angegeben wird, wird die OnConfiguring(DbContextOptionsBuilder) Methode weiterhin ausgeführt, wenn sie im abgeleiteten Kontext überschrieben wurde. OnConfiguring(DbContextOptionsBuilder) Die Konfiguration wird zusätzlich zur hier ausgeführten Konfiguration angewendet.
Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor für Ihren Kontext verfügbar machen, der ihn übernimmt DbContextOptions<TContext> und an den Basiskonstruktor von DbContextübergibt.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}
Gilt für:
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst in .IServiceCollection Sie verwenden diese Methode, wenn Sie abhängigkeitsinjektion in Ihrer Anwendung verwenden, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890.
Diese Überladung verfügt über eine optionsAction
, die die Anwendungen IServiceProviderbereitstellt.
Dies ist nützlich, wenn Sie Entity Framework einrichten möchten, um seine internen Dienste vom primären Anwendungsdienstanbieter aufzulösen.
Standardmäßig wird empfohlen, die andere Überladung zu verwenden, die es Entity Framework ermöglicht, eigene IServiceProvider für interne Entity Framework-Dienste zu erstellen und zu verwalten.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) 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 optionale Aktion zum Konfigurieren von DbContextOptions für den Kontext. Dies bietet eine Alternative zur Konfiguration des Kontexts, indem die OnConfiguring(DbContextOptionsBuilder) -Methode im abgeleiteten Kontext überschrieben wird.
Wenn hier eine Aktion angegeben wird, wird die OnConfiguring(DbContextOptionsBuilder) Methode weiterhin ausgeführt, wenn sie im abgeleiteten Kontext überschrieben wurde. OnConfiguring(DbContextOptionsBuilder) Die Konfiguration wird zusätzlich zur hier ausgeführten Konfiguration angewendet.
Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor für Ihren Kontext verfügbar machen, der ihn übernimmt DbContextOptions<TContext> und an den Basiskonstruktor von DbContextübergibt.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services
.AddEntityFrameworkSqlServer()
.AddDbContext<MyContext>((serviceProvider, options) =>
options.UseSqlServer(connectionString)
.UseInternalServiceProvider(serviceProvider));
}
Gilt für:
AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst im IServiceCollection.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) 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 optionale Aktion zum Konfigurieren von DbContextOptions für den Kontext. Dies bietet eine Alternative zur Konfiguration des Kontexts, indem die OnConfiguring(DbContextOptionsBuilder) -Methode im abgeleiteten Kontext überschrieben wird.
Wenn hier eine Aktion angegeben wird, wird die OnConfiguring(DbContextOptionsBuilder) Methode weiterhin ausgeführt, wenn sie im abgeleiteten Kontext überschrieben wurde. OnConfiguring(DbContextOptionsBuilder) Die Konfiguration wird zusätzlich zur hier ausgeführten Konfiguration angewendet.
Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor für Ihren Kontext verfügbar machen, der ihn übernimmt DbContextOptions<TContext> und an den Basiskonstruktor von DbContextübergibt.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
- optionsLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContextOptions-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}
Hinweise
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 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 Problemen beim DbContext-Threading .
Weitere Informationen und Beispiele finden Sie unter Verwenden von DbContext mit Abhängigkeitsinjektion .
Gilt für:
AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst im IServiceCollection.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContext> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContext(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) 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 optionale Aktion zum Konfigurieren von DbContextOptions für den Kontext. Dies bietet eine Alternative zum Ausführen der Konfiguration des Kontexts, indem die OnConfiguring(DbContextOptionsBuilder) -Methode im abgeleiteten Kontext überschrieben wird.
Wenn hier eine Aktion angegeben wird, wird die OnConfiguring(DbContextOptionsBuilder) -Methode weiterhin ausgeführt, wenn sie für den abgeleiteten Kontext überschrieben wurde. OnConfiguring(DbContextOptionsBuilder) Die Konfiguration wird zusätzlich zur hier ausgeführten Konfiguration angewendet.
Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor für Ihren Kontext verfügbar machen, der ihn akzeptiert DbContextOptions<TContext> und an den Basiskonstruktor von DbContextübergibt.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
- optionsLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContextOptions-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services
.AddEntityFrameworkSqlServer()
.AddDbContext<MyContext>((serviceProvider, options) =>
options.UseSqlServer(connectionString)
.UseInternalServiceProvider(serviceProvider));
}
Hinweise
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 .
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 .
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 AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) empfohlen, mit der Entity Framework eigene IServiceProvider Für interne Entity Framework-Dienste erstellen und verwalten kann.
Gilt für:
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst im IServiceCollection.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextService : null and 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContext(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, contextLifetime As ServiceLifetime, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) 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.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
- optionsLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContextOptions-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}
Hinweise
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 .
Gilt für:
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst im IServiceCollection.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction = default, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContext(Of TContextService, TContextImplementation) (serviceCollection As IServiceCollection, Optional optionsAction As Action(Of DbContextOptionsBuilder) = Nothing, Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) 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 optionale Aktion zum Konfigurieren von DbContextOptions für den Kontext. Dies bietet eine Alternative zum Ausführen der Konfiguration des Kontexts, indem die OnConfiguring(DbContextOptionsBuilder) -Methode im abgeleiteten Kontext überschrieben wird.
Wenn hier eine Aktion angegeben wird, wird die OnConfiguring(DbContextOptionsBuilder) -Methode weiterhin ausgeführt, wenn sie für den abgeleiteten Kontext überschrieben wurde. OnConfiguring(DbContextOptionsBuilder) Die Konfiguration wird zusätzlich zur hier ausgeführten Konfiguration angewendet.
Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor für Ihren Kontext verfügbar machen, der ihn akzeptiert DbContextOptions<TContext> und an den Basiskonstruktor von DbContextübergibt.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
- optionsLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContextOptions-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}
Hinweise
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 .
Gilt für:
AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Registriert den angegebenen Kontext als Dienst im IServiceCollection.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContext<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>? optionsAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime contextLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Microsoft.Extensions.DependencyInjection.ServiceLifetime optionsLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContext : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * Microsoft.Extensions.DependencyInjection.ServiceLifetime * Microsoft.Extensions.DependencyInjection.ServiceLifetime -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContext(Of TContextService, TContextImplementation) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional contextLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped, Optional optionsLifetime As ServiceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped) 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 optionale Aktion zum Konfigurieren von DbContextOptions für den Kontext. Dies bietet eine Alternative zum Ausführen der Konfiguration des Kontexts, indem die OnConfiguring(DbContextOptionsBuilder) -Methode im abgeleiteten Kontext überschrieben wird.
Wenn hier eine Aktion angegeben wird, wird die OnConfiguring(DbContextOptionsBuilder) -Methode weiterhin ausgeführt, wenn sie für den abgeleiteten Kontext überschrieben wurde. OnConfiguring(DbContextOptionsBuilder) Die Konfiguration wird zusätzlich zur hier ausgeführten Konfiguration angewendet.
Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor für Ihren Kontext verfügbar machen, der ihn akzeptiert DbContextOptions<TContext> und an den Basiskonstruktor von DbContextübergibt.
- contextLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.
- optionsLifetime
- ServiceLifetime
Die Lebensdauer, mit der der DbContextOptions-Dienst im Container registriert werden soll.
Gibt zurück
Dieselbe Dienstsammlung, sodass mehrere Aufrufe verkettet werden können.
Beispiele
public void ConfigureServices(IServiceCollection services)
{
var connectionString = "connection string to database";
services
.AddEntityFrameworkSqlServer()
.AddDbContext<MyContext>((serviceProvider, options) =>
options.UseSqlServer(connectionString)
.UseInternalServiceProvider(serviceProvider));
}
Hinweise
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 .
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 AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) empfohlen, mit der Entity Framework eigene IServiceProvider Für interne Entity Framework-Dienste erstellen und verwalten kann.
Gilt für:
Entity Framework