EntityFrameworkServiceCollectionExtensions.AddDbContext Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
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.