EntityFrameworkServiceCollectionExtensions.AddDbContext Yöntem

Tanım

Aşırı Yüklemeler

AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder. Uygulamanızda bağımlılık ekleme kullanırken, örneğin ASP.NET kullanırken bu yöntemi kullanırsınız. Bağımlılık eklemeyi ayarlama hakkında daha fazla bilgi için bkz http://go.microsoft.com/fwlink/?LinkId=526890. .

AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder. Uygulamanızda bağımlılık ekleme kullanırken, örneğin ASP.NET kullanırken bu yöntemi kullanırsınız. Bağımlılık eklemeyi ayarlama hakkında daha fazla bilgi için bkz http://go.microsoft.com/fwlink/?LinkId=526890. .

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder. Uygulamanızda bağımlılık ekleme kullanırken, örneğin ASP.NET kullanırken bu yöntemi kullanırsınız. Bağımlılık eklemeyi ayarlama hakkında daha fazla bilgi için bkz. http://go.microsoft.com/fwlink/?LinkId=526890.

Bu aşırı yükleme, uygulamaları IServiceProvidersağlayan bir optionsAction öğesine sahiptir. Birincil uygulama hizmeti sağlayıcısından gelen iç hizmetlerini çözümlemek için Entity Framework'ün ayarlanmasını istiyorsanız bu yararlı olur. Varsayılan olarak, Entity Framework'ün iç Entity Framework hizmetleri için kendi IServiceProvider yükünü oluşturmasını ve korumasını sağlayan diğer aşırı yüklemeyi kullanmanızı öneririz.

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

AddDbContext<TContext>(IServiceCollection, ServiceLifetime)

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder. Uygulamanızda bağımlılık ekleme kullanırken, örneğin ASP.NET kullanırken bu yöntemi kullanırsınız. Bağımlılık eklemeyi ayarlama hakkında daha fazla bilgi için bkz 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

Tür Parametreleri

TContext

Kaydedilecek bağlam türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Şunlara uygulanır

AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime)

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Tür Parametreleri

TContext

Kaydedilecek bağlam türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

optionsLifetime
ServiceLifetime

DbContextOptions hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Açıklamalar

Uygulamanızda bağımlılık ekleme özelliğini kullanırken ASP.NET Core gibi bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için doğrudan oluşturucuyla örnek oluşturmayı DbContext göz önünde bulundurun. Daha OnConfiguring(DbContextOptionsBuilder) sonra bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için yöntemi geçersiz kılınabilir.

Entity Framework Core, aynı DbContext örneğinde birden çok paralel işlemin çalıştırılmasını desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. Bağımlılık ekleme ile DbContext kullanma .

Şunlara uygulanır

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder. Uygulamanızda bağımlılık ekleme kullanırken, örneğin ASP.NET kullanırken bu yöntemi kullanırsınız. Bağımlılık eklemeyi ayarlama hakkında daha fazla bilgi için bkz 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

Tür Parametreleri

TContext

Kaydedilecek bağlam türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

optionsAction
Action<DbContextOptionsBuilder>

bağlamını yapılandırmak DbContextOptions için isteğe bağlı bir eylem. Bu, türetilmiş bağlamınızdaki yöntemi geçersiz kılarak bağlam yapılandırmasını gerçekleştirmeye OnConfiguring(DbContextOptionsBuilder) bir alternatif sağlar.

Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa yöntem yine de çalıştırılır. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.

Seçeneklerin bağlamınıza geçirilebilmesi için bağlamınız üzerinde bunu alıp DbContextOptions<TContext> temel oluşturucusuna geçiren bir oluşturucuyu DbContextkullanıma sunmanız gerekir.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Şunlara uygulanır

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder. Uygulamanızda bağımlılık ekleme kullanırken, örneğin ASP.NET kullanırken bu yöntemi kullanırsınız. Bağımlılık eklemeyi ayarlama hakkında daha fazla bilgi için bkz. http://go.microsoft.com/fwlink/?LinkId=526890.

Bu aşırı yükleme, uygulamaları IServiceProvidersağlayan bir optionsAction öğesine sahiptir. Birincil uygulama hizmeti sağlayıcısından gelen iç hizmetlerini çözümlemek için Entity Framework'ün ayarlanmasını istiyorsanız bu yararlı olur. Varsayılan olarak, Entity Framework'ün iç Entity Framework hizmetleri için kendi IServiceProvider yükünü oluşturmasını ve korumasını sağlayan diğer aşırı yüklemeyi kullanmanızı öneririz.

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

Tür Parametreleri

TContext

Kaydedilecek bağlam türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

bağlamını yapılandırmak DbContextOptions için isteğe bağlı bir eylem. Bu, türetilmiş bağlamınızdaki yöntemi geçersiz kılarak bağlam yapılandırmasını gerçekleştirmeye OnConfiguring(DbContextOptionsBuilder) bir alternatif sağlar.

Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa yöntem yine de çalıştırılır. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.

Seçeneklerin bağlamınıza geçirilebilmesi için bağlamınız üzerinde bunu alıp DbContextOptions<TContext> temel oluşturucusuna geçiren bir oluşturucuyu DbContextkullanıma sunmanız gerekir.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Şunlara uygulanır

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Tür Parametreleri

TContext

Kaydedilecek bağlam türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

optionsAction
Action<DbContextOptionsBuilder>

bağlamını yapılandırmak DbContextOptions için isteğe bağlı bir eylem. Bu, türetilmiş bağlamınızdaki yöntemi geçersiz kılarak bağlam yapılandırmasını gerçekleştirmeye OnConfiguring(DbContextOptionsBuilder) bir alternatif sağlar.

Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa yöntem yine de çalıştırılır. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.

Seçeneklerin bağlamınıza geçirilebilmesi için bağlamınız üzerinde bunu alıp DbContextOptions<TContext> temel oluşturucusuna geçiren bir oluşturucuyu DbContextkullanıma sunmanız gerekir.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

optionsLifetime
ServiceLifetime

DbContextOptions hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Açıklamalar

Uygulamanızda bağımlılık ekleme özelliğini kullanırken ASP.NET Core gibi bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için doğrudan oluşturucuyla örnek oluşturmayı DbContext göz önünde bulundurun. Daha OnConfiguring(DbContextOptionsBuilder) sonra bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için yöntemi geçersiz kılınabilir.

Entity Framework Core, aynı DbContext örneğinde birden çok paralel işlemin çalıştırılmasını desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. Bağımlılık ekleme ile DbContext kullanma .

Şunlara uygulanır

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Tür Parametreleri

TContext

Kaydedilecek bağlam türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

bağlamını yapılandırmak DbContextOptions için isteğe bağlı bir eylem. Bu, türetilmiş bağlamınızdaki yöntemi geçersiz kılarak bağlam yapılandırmasını gerçekleştirmeye OnConfiguring(DbContextOptionsBuilder) bir alternatif sağlar.

Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa yöntem yine de çalıştırılır. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.

Seçeneklerin bağlamınıza geçirilebilmesi için bağlamınız üzerinde bunu alıp DbContextOptions<TContext> temel oluşturucusuna geçiren bir oluşturucuyu DbContextkullanıma sunmanız gerekir.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

optionsLifetime
ServiceLifetime

DbContextOptions hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Açıklamalar

Uygulamanızda bağımlılık ekleme özelliğini kullanırken ASP.NET Core gibi bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için doğrudan oluşturucuyla örnek oluşturmayı DbContext göz önünde bulundurun. Daha OnConfiguring(DbContextOptionsBuilder) sonra bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için yöntemi geçersiz kılınabilir.

Entity Framework Core, aynı DbContext örneğinde birden çok paralel işlemin çalıştırılmasını desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Entity Framework Core, aynı DbContext örneğinde birden çok paralel işlemin çalıştırılmasını desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. Bağımlılık ekleme ile DbContext kullanma .

Bu aşırı yükleme, uygulamanın IServiceProvideröğesini sağlayan bir optionsAction öğesine sahiptir. Birincil uygulama hizmeti sağlayıcısından gelen iç hizmetlerini çözümlemek için Entity Framework Core'u ayarlamak istiyorsanız bu yararlı olur. Varsayılan olarak, Entity Framework'ün iç Entity Framework hizmetleri için kendi IServiceProvider entity framework'ünü oluşturmasına ve sürdürmesine izin veren bir özellik kullanmanızı AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) öneririz.

Şunlara uygulanır

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Tür Parametreleri

TContextService

Kapsayıcıdan bağlamı çözümlemek için kullanılacak sınıf veya arabirim.

TContextImplementation

Oluşturulacak somut uygulama türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

optionsLifetime
ServiceLifetime

DbContextOptions hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Açıklamalar

Uygulamanızda bağımlılık ekleme özelliğini kullanırken ASP.NET Core gibi bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için doğrudan oluşturucuyla örnek oluşturmayı DbContext göz önünde bulundurun. Daha OnConfiguring(DbContextOptionsBuilder) sonra bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için yöntemi geçersiz kılınabilir.

Entity Framework Core, aynı DbContext örneğinde birden çok paralel işlemin çalıştırılmasını desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. Bağımlılık ekleme ile DbContext kullanma .

Şunlara uygulanır

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Tür Parametreleri

TContextService

Kapsayıcıdan bağlamı çözümlemek için kullanılacak sınıf veya arabirim.

TContextImplementation

Oluşturulacak somut uygulama türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

optionsAction
Action<DbContextOptionsBuilder>

bağlamını yapılandırmak DbContextOptions için isteğe bağlı bir eylem. Bu, türetilmiş bağlamınızdaki yöntemi geçersiz kılarak bağlam yapılandırmasını gerçekleştirmeye OnConfiguring(DbContextOptionsBuilder) bir alternatif sağlar.

Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa yöntem yine de çalıştırılır. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.

Seçeneklerin bağlamınıza geçirilebilmesi için bağlamınız üzerinde bunu alıp DbContextOptions<TContext> temel oluşturucusuna geçiren bir oluşturucuyu DbContextkullanıma sunmanız gerekir.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

optionsLifetime
ServiceLifetime

DbContextOptions hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Açıklamalar

Uygulamanızda bağımlılık ekleme özelliğini kullanırken ASP.NET Core gibi bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için doğrudan oluşturucuyla örnek oluşturmayı DbContext göz önünde bulundurun. Daha OnConfiguring(DbContextOptionsBuilder) sonra bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için yöntemi geçersiz kılınabilir.

Entity Framework Core, aynı DbContext örneğinde birden çok paralel işlemin çalıştırılmasını desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. Bağımlılık ekleme ile DbContext kullanma .

Şunlara uygulanır

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

Verilen bağlamı içinde IServiceCollectionbir hizmet olarak kaydeder.

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

Tür Parametreleri

TContextService

Kapsayıcıdan bağlamı çözümlemek için kullanılacak sınıf veya arabirim.

TContextImplementation

Oluşturulacak somut uygulama türü.

Parametreler

serviceCollection
IServiceCollection

IServiceCollection hizmet eklemek için.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

bağlamını yapılandırmak DbContextOptions için isteğe bağlı bir eylem. Bu, türetilmiş bağlamınızdaki yöntemi geçersiz kılarak bağlam yapılandırmasını gerçekleştirmeye OnConfiguring(DbContextOptionsBuilder) bir alternatif sağlar.

Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa yöntem yine de çalıştırılır. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.

Seçeneklerin bağlamınıza geçirilebilmesi için bağlamınız üzerinde bunu alıp DbContextOptions<TContext> temel oluşturucusuna geçiren bir oluşturucuyu DbContextkullanıma sunmanız gerekir.

contextLifetime
ServiceLifetime

DbContext hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

optionsLifetime
ServiceLifetime

DbContextOptions hizmetinin kapsayıcıya kaydedildiği yaşam süresi.

Döndürülenler

Birden çok çağrının zincirlenebilmesi için aynı hizmet koleksiyonu.

Örnekler

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

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

Açıklamalar

Uygulamanızda bağımlılık ekleme özelliğini kullanırken ASP.NET Core gibi bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için doğrudan oluşturucuyla örnek oluşturmayı DbContext göz önünde bulundurun. Daha OnConfiguring(DbContextOptionsBuilder) sonra bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için yöntemi geçersiz kılınabilir.

Entity Framework Core, aynı DbContext örneğinde birden çok paralel işlemin çalıştırılmasını desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. Bağımlılık ekleme ile DbContext kullanma .

Bu aşırı yükleme, uygulamanın IServiceProvideröğesini sağlayan bir optionsAction öğesine sahiptir. Birincil uygulama hizmeti sağlayıcısından gelen iç hizmetlerini çözümlemek için Entity Framework Core'u ayarlamak istiyorsanız bu yararlı olur. Varsayılan olarak, Entity Framework'ün iç Entity Framework hizmetleri için kendi IServiceProvider entity framework'ünü oluşturmasına ve sürdürmesine izin veren bir özellik kullanmanızı AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) öneririz.

Şunlara uygulanır