Sprache

EntityFrameworkServiceCollectionExtensions.AddDbContext Methode

Definition

Überlädt

Name Beschreibung
AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection. Sie verwenden diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, 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 der IServiceCollection.

AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection. Sie verwenden diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, 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 der IServiceCollection. Sie verwenden diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890.

Diese Überladung weist eine optionsAction Überladung auf, die die Anwendungen IServiceProviderbereitstellt. Dies ist nützlich, wenn Sie Entity Framework einrichten möchten, um die internen Dienste vom primären Anwendungsdienstanbieter aufzulösen. Standardmäßig empfehlen wir die Verwendung der anderen Überladung, mit der Entity Framework eigene IServiceProvider Entitätsframework-Dienste für interne Entity Framework-Dienste erstellen und verwalten kann.

AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection.

AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection.

AddDbContext<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection.

AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection.

AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection.

AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection. Sie verwenden diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, 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

Der IServiceCollection , dem Dienste hinzugefügt werden sollen.

contextLifetime
ServiceLifetime

Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.

Gibt zurück

Dieselbe Dienstauflistung, 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)

Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs

Registriert den angegebenen Kontext als Dienst in der 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

Der IServiceCollection , dem 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 Dienstauflistung, 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 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 .

Gilt für:

AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)

Registriert den angegebenen Kontext als Dienst in der IServiceCollection. Sie verwenden diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, 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

Der IServiceCollection , dem Dienste hinzugefügt werden sollen.

optionsAction
Action<DbContextOptionsBuilder>

Eine optionale Aktion zum Konfigurieren des DbContextOptions Kontexts. 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) Zusätzlich zur hier ausgeführten Konfiguration wird die Konfiguration angewendet.

Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor in Ihrem Kontext verfügbar machen, der ihn an DbContextOptions<TContext> den Basiskonstruktor DbContextvon .

contextLifetime
ServiceLifetime

Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.

Gibt zurück

Dieselbe Dienstauflistung, 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 der IServiceCollection. Sie verwenden diese Methode bei Verwendung der Abhängigkeitsinjektion in Ihrer Anwendung, z. B. mit ASP.NET. Weitere Informationen zum Einrichten der Abhängigkeitsinjektion finden Sie unter http://go.microsoft.com/fwlink/?LinkId=526890.

Diese Überladung weist eine optionsAction Überladung auf, die die Anwendungen IServiceProviderbereitstellt. Dies ist nützlich, wenn Sie Entity Framework einrichten möchten, um die internen Dienste vom primären Anwendungsdienstanbieter aufzulösen. Standardmäßig empfehlen wir die Verwendung der anderen Überladung, mit der Entity Framework eigene IServiceProvider Entitätsframework-Dienste für interne Entity Framework-Dienste erstellen und verwalten kann.

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

Der IServiceCollection , dem Dienste hinzugefügt werden sollen.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Eine optionale Aktion zum Konfigurieren des DbContextOptions Kontexts. 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) Zusätzlich zur hier ausgeführten Konfiguration wird die Konfiguration angewendet.

Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor in Ihrem Kontext verfügbar machen, der ihn an DbContextOptions<TContext> den Basiskonstruktor DbContextvon .

contextLifetime
ServiceLifetime

Die Lebensdauer, mit der der DbContext-Dienst im Container registriert werden soll.

Gibt zurück

Dieselbe Dienstauflistung, 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)

Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs

Registriert den angegebenen Kontext als Dienst in der 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

Der IServiceCollection , dem Dienste hinzugefügt werden sollen.

optionsAction
Action<DbContextOptionsBuilder>

Eine optionale Aktion zum Konfigurieren des DbContextOptions Kontexts. 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) Zusätzlich zur hier ausgeführten Konfiguration wird die Konfiguration angewendet.

Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor in Ihrem Kontext verfügbar machen, der ihn an DbContextOptions<TContext> den Basiskonstruktor DbContextvon .

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

Gilt für:

AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)

Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs

Registriert den angegebenen Kontext als Dienst in der 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

Der IServiceCollection , dem Dienste hinzugefügt werden sollen.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Eine optionale Aktion zum Konfigurieren des DbContextOptions Kontexts. 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) Zusätzlich zur hier ausgeführten Konfiguration wird die Konfiguration angewendet.

Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor in Ihrem Kontext verfügbar machen, der ihn an DbContextOptions<TContext> den Basiskonstruktor DbContextvon .

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

Diese Überladung weist eine optionsAction Überladung auf, die die Anwendung IServiceProviderbereitstellt. Dies ist nützlich, wenn Sie Entity Framework Core einrichten möchten, um die internen Dienste vom primären Anwendungsdienstanbieter aufzulösen. Standardmäßig empfehlen wir die Verwendung AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) , mit der Entity Framework eigene IServiceProvider Entitätsframework-Dienste für interne Entity Framework-Dienste erstellen und verwalten kann.

Gilt für:

AddDbContext<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs

Registriert den angegebenen Kontext als Dienst in der 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 zum Auflösen des Kontexts aus dem Container verwendet wird.

TContextImplementation

Der zu erstellende konkrete Implementierungstyp.

Parameter

serviceCollection
IServiceCollection

Der IServiceCollection , dem 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 Dienstauflistung, 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 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 .

Gilt für:

AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)

Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs

Registriert den angegebenen Kontext als Dienst in der 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 zum Auflösen des Kontexts aus dem Container verwendet wird.

TContextImplementation

Der zu erstellende konkrete Implementierungstyp.

Parameter

serviceCollection
IServiceCollection

Der IServiceCollection , dem Dienste hinzugefügt werden sollen.

optionsAction
Action<DbContextOptionsBuilder>

Eine optionale Aktion zum Konfigurieren des DbContextOptions Kontexts. 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) Zusätzlich zur hier ausgeführten Konfiguration wird die Konfiguration angewendet.

Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor in Ihrem Kontext verfügbar machen, der ihn an DbContextOptions<TContext> den Basiskonstruktor DbContextvon .

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

Gilt für:

AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)

Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs
Quelle:
EntityFrameworkServiceCollectionExtensions.cs

Registriert den angegebenen Kontext als Dienst in der 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 zum Auflösen des Kontexts aus dem Container verwendet wird.

TContextImplementation

Der zu erstellende konkrete Implementierungstyp.

Parameter

serviceCollection
IServiceCollection

Der IServiceCollection , dem Dienste hinzugefügt werden sollen.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Eine optionale Aktion zum Konfigurieren des DbContextOptions Kontexts. 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) Zusätzlich zur hier ausgeführten Konfiguration wird die Konfiguration angewendet.

Damit die Optionen in Ihren Kontext übergeben werden können, müssen Sie einen Konstruktor in Ihrem Kontext verfügbar machen, der ihn an DbContextOptions<TContext> den Basiskonstruktor DbContextvon .

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

Diese Überladung weist eine optionsAction Überladung auf, die die Anwendung IServiceProviderbereitstellt. Dies ist nützlich, wenn Sie Entity Framework Core einrichten möchten, um die internen Dienste vom primären Anwendungsdienstanbieter aufzulösen. Standardmäßig empfehlen wir die Verwendung AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) , mit der Entity Framework eigene IServiceProvider Entitätsframework-Dienste für interne Entity Framework-Dienste erstellen und verwalten kann.

Gilt für: