EntityFrameworkServiceCollectionExtensions.AddDbContext Método

Definição

Sobrecargas

AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Registra o contexto fornecido como um serviço no IServiceCollection. Você usa esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET. Para obter mais informações sobre como configurar a injeção de dependência, consulte http://go.microsoft.com/fwlink/?LinkId=526890.

AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Registra o contexto fornecido como um serviço no IServiceCollection.

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

Registra o contexto fornecido como um serviço no IServiceCollection. Você usa esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET. Para obter mais informações sobre como configurar a injeção de dependência, consulte http://go.microsoft.com/fwlink/?LinkId=526890.

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

Registra o contexto fornecido como um serviço no IServiceCollection. Você usa esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET. Para obter mais informações sobre como configurar a injeção de dependência, consulte http://go.microsoft.com/fwlink/?LinkId=526890.

Essa sobrecarga tem um optionsAction que fornece os aplicativos IServiceProvider. Isso será útil se você quiser configurar o Entity Framework para resolve seus serviços internos do provedor de serviços de aplicativo primário. Por padrão, é recomendável usar a outra sobrecarga, que permite que o Entity Framework crie e mantenha sua própria IServiceProvider para serviços internos do Entity Framework.

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

Registra o contexto fornecido como um serviço no IServiceCollection.

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

Registra o contexto fornecido como um serviço no IServiceCollection.

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

Registra o contexto fornecido como um serviço no IServiceCollection.

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

Registra o contexto fornecido como um serviço no IServiceCollection.

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

Registra o contexto fornecido como um serviço no IServiceCollection.

AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Registra o contexto fornecido como um serviço no IServiceCollection. Você usa esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET. Para obter mais informações sobre como configurar a injeção de dependência, consulte 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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Aplica-se a

AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Registra o contexto fornecido como um serviço no 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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

optionsLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContextOptions no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Comentários

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading de DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência para obter mais informações e exemplos.

Aplica-se a

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

Registra o contexto fornecido como um serviço no IServiceCollection. Você usa esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET. Para obter mais informações sobre como configurar a injeção de dependência, consulte 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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<DbContextOptionsBuilder>

Uma ação opcional para configurar o DbContextOptions para o contexto. Isso fornece uma alternativa para executar a configuração do contexto substituindo o OnConfiguring(DbContextOptionsBuilder) método em seu contexto derivado.

Se uma ação for fornecida aqui, o OnConfiguring(DbContextOptionsBuilder) método ainda será executado se tiver sido substituído no contexto derivado. OnConfiguring(DbContextOptionsBuilder) A configuração será aplicada além da configuração executada aqui.

Para que as opções sejam passadas para o contexto, você precisa expor um construtor em seu contexto que o usa DbContextOptions<TContext> e passa para o construtor base de DbContext.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Aplica-se a

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

Registra o contexto fornecido como um serviço no IServiceCollection. Você usa esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET. Para obter mais informações sobre como configurar a injeção de dependência, consulte http://go.microsoft.com/fwlink/?LinkId=526890.

Essa sobrecarga tem um optionsAction que fornece os aplicativos IServiceProvider. Isso será útil se você quiser configurar o Entity Framework para resolve seus serviços internos do provedor de serviços de aplicativo primário. Por padrão, é recomendável usar a outra sobrecarga, que permite que o Entity Framework crie e mantenha sua própria IServiceProvider para serviços internos do Entity Framework.

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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Uma ação opcional para configurar o DbContextOptions para o contexto. Isso fornece uma alternativa para executar a configuração do contexto substituindo o OnConfiguring(DbContextOptionsBuilder) método em seu contexto derivado.

Se uma ação for fornecida aqui, o OnConfiguring(DbContextOptionsBuilder) método ainda será executado se tiver sido substituído no contexto derivado. OnConfiguring(DbContextOptionsBuilder) A configuração será aplicada além da configuração executada aqui.

Para que as opções sejam passadas para o contexto, você precisa expor um construtor em seu contexto que o usa DbContextOptions<TContext> e passa para o construtor base de DbContext.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Aplica-se a

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

Registra o contexto fornecido como um serviço no 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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<DbContextOptionsBuilder>

Uma ação opcional para configurar o DbContextOptions para o contexto. Isso fornece uma alternativa para executar a configuração do contexto substituindo o OnConfiguring(DbContextOptionsBuilder) método em seu contexto derivado.

Se uma ação for fornecida aqui, o OnConfiguring(DbContextOptionsBuilder) método ainda será executado se tiver sido substituído no contexto derivado. OnConfiguring(DbContextOptionsBuilder) A configuração será aplicada além da configuração executada aqui.

Para que as opções sejam passadas para o contexto, você precisa expor um construtor em seu contexto que o usa DbContextOptions<TContext> e passa para o construtor base de DbContext.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

optionsLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContextOptions no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Comentários

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading de DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência para obter mais informações e exemplos.

Aplica-se a

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

Registra o contexto fornecido como um serviço no 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

Parâmetros de tipo

TContext

O tipo de contexto a ser registrado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Uma ação opcional para configurar o DbContextOptions para o contexto. Isso fornece uma alternativa para executar a configuração do contexto substituindo o OnConfiguring(DbContextOptionsBuilder) método em seu contexto derivado.

Se uma ação for fornecida aqui, o OnConfiguring(DbContextOptionsBuilder) método ainda será executado se tiver sido substituído no contexto derivado. OnConfiguring(DbContextOptionsBuilder) A configuração será aplicada além da configuração executada aqui.

Para que as opções sejam passadas para o contexto, você precisa expor um construtor no contexto que o usa DbContextOptions<TContext> e passa para o construtor base de DbContext.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

optionsLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContextOptions no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Comentários

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência para obter mais informações e exemplos.

Essa sobrecarga tem um optionsAction que fornece o do IServiceProvideraplicativo. Isso será útil se você quiser configurar o Entity Framework Core para resolve seus serviços internos do provedor de serviços de aplicativo primário. Por padrão, recomendamos usar AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) o que permite que o Entity Framework crie e mantenha o próprio IServiceProvider para serviços internos do Entity Framework.

Aplica-se a

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

Registra o contexto fornecido como um serviço no 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

Parâmetros de tipo

TContextService

A classe ou interface que será usada para resolve o contexto do contêiner.

TContextImplementation

O tipo de implementação concreto a ser criado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

optionsLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContextOptions no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Comentários

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência para obter mais informações e exemplos.

Aplica-se a

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

Registra o contexto fornecido como um serviço no 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

Parâmetros de tipo

TContextService

A classe ou interface que será usada para resolve o contexto do contêiner.

TContextImplementation

O tipo de implementação concreto a ser criado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<DbContextOptionsBuilder>

Uma ação opcional para configurar o DbContextOptions para o contexto. Isso fornece uma alternativa para executar a configuração do contexto substituindo o OnConfiguring(DbContextOptionsBuilder) método em seu contexto derivado.

Se uma ação for fornecida aqui, o OnConfiguring(DbContextOptionsBuilder) método ainda será executado se tiver sido substituído no contexto derivado. OnConfiguring(DbContextOptionsBuilder) A configuração será aplicada além da configuração executada aqui.

Para que as opções sejam passadas para o contexto, você precisa expor um construtor no contexto que o usa DbContextOptions<TContext> e passa para o construtor base de DbContext.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

optionsLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContextOptions no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Comentários

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência para obter mais informações e exemplos.

Aplica-se a

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

Registra o contexto fornecido como um serviço no 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

Parâmetros de tipo

TContextService

A classe ou interface que será usada para resolve o contexto do contêiner.

TContextImplementation

O tipo de implementação concreto a ser criado.

Parâmetros

serviceCollection
IServiceCollection

O IServiceCollection ao qual adicionar serviços.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Uma ação opcional para configurar o DbContextOptions para o contexto. Isso fornece uma alternativa para executar a configuração do contexto substituindo o OnConfiguring(DbContextOptionsBuilder) método em seu contexto derivado.

Se uma ação for fornecida aqui, o OnConfiguring(DbContextOptionsBuilder) método ainda será executado se tiver sido substituído no contexto derivado. OnConfiguring(DbContextOptionsBuilder) A configuração será aplicada além da configuração executada aqui.

Para que as opções sejam passadas para o contexto, você precisa expor um construtor no contexto que o usa DbContextOptions<TContext> e passa para o construtor base de DbContext.

contextLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContext no contêiner.

optionsLifetime
ServiceLifetime

O tempo de vida com o qual registrar o serviço DbContextOptions no contêiner.

Retornos

A mesma coleção de serviços para que várias chamadas possam ser encadeadas.

Exemplos

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

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

Comentários

Use esse método ao usar a injeção de dependência em seu aplicativo, como com ASP.NET Core. Para aplicativos que não usam injeção de dependência, considere criar DbContext instâncias diretamente com seu construtor. Em OnConfiguring(DbContextOptionsBuilder) seguida, o método pode ser substituído para configurar uma cadeia de conexão e outras opções.

O Entity Framework Core não oferece suporte para várias operações simultâneas sendo executadas na mesma instância DbContext. Isso inclui a execução paralela de consultas assíncronas e qualquer uso simultâneo explícito de vários threads. Portanto, sempre aguarde chamadas assíncronas imediatamente ou use instâncias DbContext separadas para operações executadas em paralelo. Consulte Evitando problemas de threading DbContext para obter mais informações e exemplos.

Consulte Usando DbContext com injeção de dependência para obter mais informações e exemplos.

Essa sobrecarga tem um optionsAction que fornece o do IServiceProvideraplicativo. Isso será útil se você quiser configurar o Entity Framework Core para resolve seus serviços internos do provedor de serviços de aplicativo primário. Por padrão, recomendamos usar AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) o que permite que o Entity Framework crie e mantenha o próprio IServiceProvider para serviços internos do Entity Framework.

Aplica-se a