EntityFrameworkServiceCollectionExtensions.AddDbContext Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| AddDbContext<TContext>(IServiceCollection, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanabilirsiniz. Bağımlılık ekleme 'yi ayarlama hakkında daha fazla bilgi için bkz http://go.microsoft.com/fwlink/?LinkId=526890 .. |
| AddDbContext<TContext>(IServiceCollection, ServiceLifetime, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir. Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme . Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma . |
| AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanabilirsiniz. Bağımlılık ekleme 'yi 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ı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanabilirsiniz. Bağımlılık ekleme 'yi ayarlama hakkında daha fazla bilgi için bkz http://go.microsoft.com/fwlink/?LinkId=526890 ..
Bu aşırı yükleme |
| AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir. Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme . Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma . |
| AddDbContext<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir. Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme . Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme . Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
Bu aşırı yükleme, uygulamanın ' i sağlayan bir öğesine sahiptir |
| AddDbContext<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir. Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme . Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma . |
| AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir. Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme . Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma . |
| AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime) |
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir. Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme . Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
Bu aşırı yükleme, uygulamanın ' i sağlayan bir öğesine sahiptir |
AddDbContext<TContext>(IServiceCollection, ServiceLifetime)
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanabilirsiniz. Bağımlılık ekleme 'yi 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ın türü.
Parametreler
- serviceCollection
- IServiceCollection
IServiceCollectionHizmet eklemek için.
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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ı hizmetine bir hizmet olarak kaydeder IServiceCollection .
Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.
Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .
Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
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ın türü.
Parametreler
- serviceCollection
- IServiceCollection
IServiceCollectionHizmet eklemek için.
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
- optionsLifetime
- ServiceLifetime
DbContextOptions hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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, Action<DbContextOptionsBuilder>, ServiceLifetime)
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanabilirsiniz. Bağımlılık ekleme 'yi 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ın türü.
Parametreler
- serviceCollection
- IServiceCollection
IServiceCollectionHizmet eklemek için.
- optionsAction
- Action<DbContextOptionsBuilder>
Bağlamını yapılandırmak için isteğe bağlı bir eylem DbContextOptions . Bu, türetilmiş bağlamdaki yöntemi geçersiz kılarak bağlamı yapılandırmanın gerçekleştirilmesi için bir alternatif sağlar OnConfiguring(DbContextOptionsBuilder) .
Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa Yöntem çalışmaya devam eder. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.
Seçeneklerinizin bağlamına geçirilmesi için, içeriğiniz üzerinde bir oluşturucu oluşturmanız DbContextOptions<TContext> ve temel oluşturucusuna geçirmelisiniz DbContext .
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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ı hizmetine bir hizmet olarak kaydeder IServiceCollection . Uygulamanızda ASP.NET gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanabilirsiniz. Bağımlılık ekleme 'yi ayarlama hakkında daha fazla bilgi için bkz http://go.microsoft.com/fwlink/?LinkId=526890 ..
Bu aşırı yükleme optionsAction , uygulamaları sağlayan bir öğesine sahiptir IServiceProvider .
Bu, iç hizmetlerini birincil uygulama hizmeti sağlayıcısından çözümlemek üzere Entity Framework ayarlamak istiyorsanız kullanışlıdır.
Varsayılan olarak, Entity Framework diğer aşırı yüklemeyi kullanmanızı öneririz, bu da kendi oluşturmasını ve bakımını sağlar IServiceProvider
iç Entity Framework Hizmetleri için.
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ın türü.
Parametreler
- serviceCollection
- IServiceCollection
IServiceCollectionHizmet eklemek için.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Bağlamını yapılandırmak için isteğe bağlı bir eylem DbContextOptions . Bu, türetilmiş bağlamdaki yöntemi geçersiz kılarak bağlamı yapılandırmanın gerçekleştirilmesi için bir alternatif sağlar OnConfiguring(DbContextOptionsBuilder) .
Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa Yöntem çalışmaya devam eder. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.
Seçeneklerinizin bağlamına geçirilmesi için, içeriğiniz üzerinde bir oluşturucu oluşturmanız DbContextOptions<TContext> ve temel oluşturucusuna geçirmelisiniz DbContext .
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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ı hizmetine bir hizmet olarak kaydeder IServiceCollection .
Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.
Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .
Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
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ın türü.
Parametreler
- serviceCollection
- IServiceCollection
IServiceCollectionHizmet eklemek için.
- optionsAction
- Action<DbContextOptionsBuilder>
Bağlamını yapılandırmak için isteğe bağlı bir eylem DbContextOptions . Bu, türetilmiş bağlamdaki yöntemi geçersiz kılarak bağlamı yapılandırmanın gerçekleştirilmesi için bir alternatif sağlar OnConfiguring(DbContextOptionsBuilder) .
Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa Yöntem çalışmaya devam eder. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.
Seçeneklerinizin bağlamına geçirilmesi için, içeriğiniz üzerinde bir oluşturucu oluşturmanız DbContextOptions<TContext> ve temel oluşturucusuna geçirmelisiniz DbContext .
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
- optionsLifetime
- ServiceLifetime
DbContextOptions hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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, ServiceLifetime)
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection .
Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.
Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .
Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .
Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
Bu aşırı yükleme, uygulamanın ' i sağlayan bir öğesine sahiptir optionsAction IServiceProvider . Bu, iç hizmetlerini birincil uygulama hizmeti sağlayıcısından çözümlemek üzere Entity Framework Core ayarlamak istiyorsanız kullanışlıdır.
Varsayılan olarak, şunu kullanmanızı öneririz AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Entity Framework, IServiceProvider iç Entity Framework Hizmetleri için kendi oluşturup bakımını sağlar.
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ın türü.
Parametreler
- serviceCollection
- IServiceCollection
IServiceCollectionHizmet eklemek için.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Bağlamını yapılandırmak için isteğe bağlı bir eylem DbContextOptions . Bu, türetilmiş bağlamdaki yöntemi geçersiz kılarak bağlamı yapılandırmanın gerçekleştirilmesi için bir alternatif sağlar OnConfiguring(DbContextOptionsBuilder) .
Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa Yöntem çalışmaya devam eder. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.
Seçeneklerinizin bağlamına geçirilmesi için, içeriğiniz üzerinde bir oluşturucu oluşturmanız DbContextOptions<TContext> ve temel oluşturucusuna geçirmelisiniz DbContext .
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
- optionsLifetime
- ServiceLifetime
DbContextOptions hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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<TContextService,TContextImplementation>(IServiceCollection, ServiceLifetime, ServiceLifetime)
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection .
Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.
Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .
Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
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
IServiceCollectionHizmet eklemek için.
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
- optionsLifetime
- ServiceLifetime
DbContextOptions hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection .
Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.
Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .
Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
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
IServiceCollectionHizmet eklemek için.
- optionsAction
- Action<DbContextOptionsBuilder>
Bağlamını yapılandırmak için isteğe bağlı bir eylem DbContextOptions . Bu, türetilmiş bağlamdaki yöntemi geçersiz kılarak bağlamı yapılandırmanın gerçekleştirilmesi için bir alternatif sağlar OnConfiguring(DbContextOptionsBuilder) .
Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa Yöntem çalışmaya devam eder. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.
Seçeneklerinizin bağlamına geçirilmesi için, içeriğiniz üzerinde bir oluşturucu oluşturmanız DbContextOptions<TContext> ve temel oluşturucusuna geçirmelisiniz DbContext .
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
- optionsLifetime
- ServiceLifetime
DbContextOptions hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Verilen bağlamı hizmetine bir hizmet olarak kaydeder IServiceCollection .
Uygulamanızda ASP.NET Core gibi bağımlılık ekleme işlemini kullanırken bu yöntemi kullanın. Bağımlılık ekleme 'yi kullanmayan uygulamalar için, DbContext Oluşturucu ile doğrudan örnek oluşturmayı düşünün. OnConfiguring(DbContextOptionsBuilder)Daha sonra yöntemi bir bağlantı dizesi ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.
Entity Framework Core, aynı örnekte çalıştırılan birden çok paralel işlemi desteklemez DbContext . Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .
Daha fazla bilgi için bkz. bağımlılık ekleme Ile DbContext kullanma .
Bu aşırı yükleme, uygulamanın ' i sağlayan bir öğesine sahiptir optionsAction IServiceProvider . Bu, iç hizmetlerini birincil uygulama hizmeti sağlayıcısından çözümlemek üzere Entity Framework Core ayarlamak istiyorsanız kullanışlıdır.
Varsayılan olarak, şunu kullanmanızı öneririz AddDbContext<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)
Entity Framework, IServiceProvider iç Entity Framework Hizmetleri için kendi oluşturup bakımını sağlar.
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
IServiceCollectionHizmet eklemek için.
- optionsAction
- Action<IServiceProvider,DbContextOptionsBuilder>
Bağlamını yapılandırmak için isteğe bağlı bir eylem DbContextOptions . Bu, türetilmiş bağlamdaki yöntemi geçersiz kılarak bağlamı yapılandırmanın gerçekleştirilmesi için bir alternatif sağlar OnConfiguring(DbContextOptionsBuilder) .
Burada bir eylem sağlanırsa, OnConfiguring(DbContextOptionsBuilder) türetilmiş bağlamda geçersiz kılınmışsa Yöntem çalışmaya devam eder. OnConfiguring(DbContextOptionsBuilder) yapılandırma, burada gerçekleştirilen yapılandırmaya ek olarak uygulanır.
Seçeneklerinizin bağlamına geçirilmesi için, içeriğiniz üzerinde bir oluşturucu oluşturmanız DbContextOptions<TContext> ve temel oluşturucusuna geçirmelisiniz DbContext .
- contextLifetime
- ServiceLifetime
DbContext hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
- optionsLifetime
- ServiceLifetime
DbContextOptions hizmetinin kapsayıcıda kaydedileceği yaşam süresi.
Döndürülenler
Birden çok çağrının zincirleme kullanılabilmesi 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));
}