EntityFrameworkServiceCollectionExtensions.AddDbContext Metodo

Definizione

Overload

AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Registra il contesto specificato come servizio in IServiceCollection. Questo metodo viene usato quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET. Per altre informazioni sulla configurazione dell'inserimento delle dipendenze, vedere http://go.microsoft.com/fwlink/?LinkId=526890.

AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Registra il contesto specificato come servizio in IServiceCollection.

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

Registra il contesto specificato come servizio in IServiceCollection. Questo metodo viene usato quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET. Per altre informazioni sulla configurazione dell'inserimento delle dipendenze, vedere http://go.microsoft.com/fwlink/?LinkId=526890.

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

Registra il contesto specificato come servizio in IServiceCollection. Questo metodo viene usato quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET. Per altre informazioni sulla configurazione dell'inserimento delle dipendenze, vedere http://go.microsoft.com/fwlink/?LinkId=526890.

Questo overload include un optionsAction oggetto che fornisce le applicazioni IServiceProvider. Questo è utile se si vuole configurare Entity Framework per risolvere i servizi interni dal provider di servizi applicazione primario. Per impostazione predefinita, è consigliabile usare l'altro overload, che consente a Entity Framework di creare e mantenere il proprio IServiceProvider per i servizi Di Entity Framework interni.

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

Registra il contesto specificato come servizio in IServiceCollection.

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

Registra il contesto specificato come servizio in IServiceCollection.

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

Registra il contesto specificato come servizio in IServiceCollection.

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

Registra il contesto specificato come servizio in IServiceCollection.

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

Registra il contesto specificato come servizio in IServiceCollection.

AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Registra il contesto specificato come servizio in IServiceCollection. Questo metodo viene usato quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET. Per altre informazioni sulla configurazione dell'inserimento delle dipendenze, vedere 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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services) 
{
    var connectionString = "connection string to database";

    services.AddDbContext<MyContext>(ServiceLifetime.Scoped); 
}

Si applica a

AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Registra il contesto specificato come servizio 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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

optionsLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContextOptions nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services)
{
    var connectionString = "connection string to database";

    services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}

Commenti

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext con inserimento delle dipendenze .

Si applica a

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

Registra il contesto specificato come servizio in IServiceCollection. Questo metodo viene usato quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET. Per altre informazioni sulla configurazione dell'inserimento delle dipendenze, vedere 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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<DbContextOptionsBuilder>

Azione facoltativa per configurare l'oggetto DbContextOptions per il contesto. Ciò offre un'alternativa all'esecuzione della configurazione del contesto eseguendo l'override OnConfiguring(DbContextOptionsBuilder) del metodo nel contesto derivato.

Se viene fornita un'azione qui, il OnConfiguring(DbContextOptionsBuilder) metodo verrà comunque eseguito se è stato sottoposto a override nel contesto derivato. OnConfiguring(DbContextOptionsBuilder) la configurazione verrà applicata oltre alla configurazione eseguita qui.

Per passare le opzioni al contesto, è necessario esporre un costruttore nel contesto che accetta DbContextOptions<TContext> e lo passa al costruttore di base di DbContext.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services) 
{
    var connectionString = "connection string to database";

    services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString)); 
}

Si applica a

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

Registra il contesto specificato come servizio in IServiceCollection. Questo metodo viene usato quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET. Per altre informazioni sulla configurazione dell'inserimento delle dipendenze, vedere http://go.microsoft.com/fwlink/?LinkId=526890.

Questo overload include un optionsAction oggetto che fornisce le applicazioni IServiceProvider. Questo è utile se si vuole configurare Entity Framework per risolvere i servizi interni dal provider di servizi applicazione primario. Per impostazione predefinita, è consigliabile usare l'altro overload, che consente a Entity Framework di creare e mantenere il proprio IServiceProvider per i servizi Di Entity Framework interni.

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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Azione facoltativa per configurare l'oggetto DbContextOptions per il contesto. Ciò offre un'alternativa all'esecuzione della configurazione del contesto eseguendo l'override OnConfiguring(DbContextOptionsBuilder) del metodo nel contesto derivato.

Se viene fornita un'azione qui, il OnConfiguring(DbContextOptionsBuilder) metodo verrà comunque eseguito se è stato sottoposto a override nel contesto derivato. OnConfiguring(DbContextOptionsBuilder) la configurazione verrà applicata oltre alla configurazione eseguita qui.

Per passare le opzioni al contesto, è necessario esporre un costruttore nel contesto che accetta DbContextOptions<TContext> e lo passa al costruttore di base di DbContext.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services) 
{
    var connectionString = "connection string to database";

    services
        .AddEntityFrameworkSqlServer()
        .AddDbContext<MyContext>((serviceProvider, options) => 
            options.UseSqlServer(connectionString)
                   .UseInternalServiceProvider(serviceProvider)); 
}

Si applica a

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

Registra il contesto specificato come servizio in 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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<DbContextOptionsBuilder>

Azione facoltativa per configurare l'oggetto DbContextOptions per il contesto. Ciò offre un'alternativa all'esecuzione della configurazione del contesto eseguendo l'override OnConfiguring(DbContextOptionsBuilder) del metodo nel contesto derivato.

Se viene fornita un'azione qui, il OnConfiguring(DbContextOptionsBuilder) metodo verrà comunque eseguito se è stato sottoposto a override nel contesto derivato. OnConfiguring(DbContextOptionsBuilder) la configurazione verrà applicata oltre alla configurazione eseguita qui.

Per passare le opzioni al contesto, è necessario esporre un costruttore nel contesto che accetta DbContextOptions<TContext> e lo passa al costruttore di base di DbContext.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

optionsLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContextOptions nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services)
{
    var connectionString = "connection string to database";

    services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}

Commenti

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext con inserimento delle dipendenze .

Si applica a

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

Registra il contesto specificato come servizio in 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

Parametri di tipo

TContext

Tipo di contesto da registrare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Azione facoltativa per configurare l'oggetto DbContextOptions per il contesto. Ciò offre un'alternativa all'esecuzione della configurazione del contesto eseguendo l'override OnConfiguring(DbContextOptionsBuilder) del metodo nel contesto derivato.

Se viene fornita un'azione qui, il OnConfiguring(DbContextOptionsBuilder) metodo verrà comunque eseguito se è stato sottoposto a override nel contesto derivato. OnConfiguring(DbContextOptionsBuilder) la configurazione verrà applicata oltre alla configurazione eseguita qui.

Per passare le opzioni al contesto, è necessario esporre un costruttore nel contesto che accetta DbContextOptions<TContext> e lo passa al costruttore di base di DbContext.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

optionsLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContextOptions nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services)
{
    var connectionString = "connection string to database";

    services
        .AddEntityFrameworkSqlServer()
        .AddDbContext<MyContext>((serviceProvider, options) =>
            options.UseSqlServer(connectionString)
                   .UseInternalServiceProvider(serviceProvider));
}

Commenti

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext con inserimento delle dipendenze .

Questo overload include un optionsAction oggetto che fornisce l'oggetto dell'applicazione IServiceProvider. Questo è utile se si vuole configurare Entity Framework Core per risolvere i servizi interni dal provider di servizi applicazione primario. Per impostazione predefinita, è consigliabile usare AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) il che consente a Entity Framework di creare e mantenere il proprio IServiceProvider per i servizi Di Entity Framework interni.

Si applica a

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

Registra il contesto specificato come servizio in 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

Parametri di tipo

TContextService

Classe o interfaccia che verrà usata per risolvere il contesto dal contenitore.

TContextImplementation

Tipo di implementazione concreta da creare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

optionsLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContextOptions nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services)
{
    var connectionString = "connection string to database";

    services.AddDbContext<MyContext>(ServiceLifetime.Scoped);
}

Commenti

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext con inserimento delle dipendenze .

Si applica a

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

Registra il contesto specificato come servizio in 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

Parametri di tipo

TContextService

Classe o interfaccia che verrà usata per risolvere il contesto dal contenitore.

TContextImplementation

Tipo di implementazione concreta da creare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<DbContextOptionsBuilder>

Azione facoltativa per configurare l'oggetto DbContextOptions per il contesto. Ciò offre un'alternativa all'esecuzione della configurazione del contesto eseguendo l'override OnConfiguring(DbContextOptionsBuilder) del metodo nel contesto derivato.

Se viene fornita un'azione qui, il OnConfiguring(DbContextOptionsBuilder) metodo verrà comunque eseguito se è stato sottoposto a override nel contesto derivato. OnConfiguring(DbContextOptionsBuilder) la configurazione verrà applicata oltre alla configurazione eseguita qui.

Per passare le opzioni al contesto, è necessario esporre un costruttore nel contesto che accetta DbContextOptions<TContext> e lo passa al costruttore di base di DbContext.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

optionsLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContextOptions nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services)
{
    var connectionString = "connection string to database";

    services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));
}

Commenti

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext con inserimento delle dipendenze .

Si applica a

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

Registra il contesto specificato come servizio in 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

Parametri di tipo

TContextService

Classe o interfaccia che verrà usata per risolvere il contesto dal contenitore.

TContextImplementation

Tipo di implementazione concreta da creare.

Parametri

serviceCollection
IServiceCollection

Oggetto IServiceCollection in cui aggiungere i servizi.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Azione facoltativa per configurare l'oggetto DbContextOptions per il contesto. Ciò offre un'alternativa all'esecuzione della configurazione del contesto eseguendo l'override OnConfiguring(DbContextOptionsBuilder) del metodo nel contesto derivato.

Se viene fornita un'azione qui, il OnConfiguring(DbContextOptionsBuilder) metodo verrà comunque eseguito se è stato sottoposto a override nel contesto derivato. OnConfiguring(DbContextOptionsBuilder) la configurazione verrà applicata oltre alla configurazione eseguita qui.

Per passare le opzioni al contesto, è necessario esporre un costruttore nel contesto che accetta DbContextOptions<TContext> e lo passa al costruttore di base di DbContext.

contextLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContext nel contenitore.

optionsLifetime
ServiceLifetime

Durata con cui registrare il servizio DbContextOptions nel contenitore.

Restituisce

La stessa raccolta di servizi in modo che sia possibile concatenare più chiamate.

Esempio

public void ConfigureServices(IServiceCollection services)
{
    var connectionString = "connection string to database";

    services
        .AddEntityFrameworkSqlServer()
        .AddDbContext<MyContext>((serviceProvider, options) =>
            options.UseSqlServer(connectionString)
                   .UseInternalServiceProvider(serviceProvider));
}

Commenti

Usare questo metodo quando si usa l'inserimento delle dipendenze nell'applicazione, ad esempio con ASP.NET Core. Per le applicazioni che non usano l'inserimento delle dipendenze, è consigliabile creare DbContext istanze direttamente con il relativo costruttore. Il OnConfiguring(DbContextOptionsBuilder) metodo può quindi essere sottoposto a override per configurare una stringa di connessione e altre opzioni.

Entity Framework Core non supporta più operazioni parallele in esecuzione nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere immediatamente le chiamate asincrone o usare istanze dbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

Per altre informazioni ed esempi, vedere Uso di DbContext con inserimento delle dipendenze .

Questo overload include un optionsAction oggetto che fornisce l'oggetto dell'applicazione IServiceProvider. Questo è utile se si vuole configurare Entity Framework Core per risolvere i servizi interni dal provider di servizi applicazione primario. Per impostazione predefinita, è consigliabile usare AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) il che consente a Entity Framework di creare e mantenere il proprio IServiceProvider per i servizi Di Entity Framework interni.

Si applica a