EntityFrameworkServiceCollectionExtensions Sınıf

Tanım

İçinde Entity Framework ilgili hizmetleri ayarlamaya yönelik uzantı yöntemleri IServiceCollection .

public static class EntityFrameworkServiceCollectionExtensions
type EntityFrameworkServiceCollectionExtensions = class
Public Module EntityFrameworkServiceCollectionExtensions
Devralma
EntityFrameworkServiceCollectionExtensions

Yöntemler

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<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)

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.

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.

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<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 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.

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 .

AddDbContextFactory<TContext,TFactory>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime)

IDbContextFactory<TContext> IServiceCollection Verilen türün örneklerini oluşturmak için öğesine kaydeder DbContext .

Bağlam türünü kaydetmek yerine fabrika kaydı, yeni örneklerin kolayca oluşturulmasına izin verir DbContext . Blazor uygulamaları ve bağımlılık ekleme kapsamının bağlam ömrü ile hizalanmadığı diğer durumlar için bir fabrikası kaydetmek önerilir.

Uygulamanıza bağımlılık ekleme (Blazor gibi) kullanılı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.

Kolaylık olması için, bu yöntem bağlam türünün kendisini kapsamlı bir hizmet olarak kaydeder. Bu, bir bağlam örneğinin bir bağımlılık ekleme kapsamından doğrudan veya fabrika tarafından oluşturulan uygun şekilde çözümlenme olanağı sağlar.

Bu aşırı yükleme IDbContextFactory<TContext> , EF Core ile gönderilen varsayılan fabrikası kullanmak yerine, belirli bir uygulamanın kaydedilmesini sağlar.

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 ve DbContext fabrikalarını kullanarak DbContext kullanma .

AddDbContextFactory<TContext,TFactory>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, ServiceLifetime)

IDbContextFactory<TContext> IServiceCollection Verilen türün örneklerini oluşturmak için öğesine kaydeder DbContext .

Bağlam türünü kaydetmek yerine fabrika kaydı, yeni örneklerin kolayca oluşturulmasına izin verir DbContext . Blazor uygulamaları ve bağımlılık ekleme kapsamının bağlam ömrü ile hizalanmadığı diğer durumlar için bir fabrikası kaydetmek önerilir.

Uygulamanıza bağımlılık ekleme (Blazor gibi) kullanılı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.

Kolaylık olması için, bu yöntem bağlam türünün kendisini kapsamlı bir hizmet olarak kaydeder. Bu, bir bağlam örneğinin bir bağımlılık ekleme kapsamından doğrudan veya fabrika tarafından oluşturulan uygun şekilde çözümlenme olanağı sağlar.

Bu aşırı yükleme IDbContextFactory<TContext> , EF Core ile gönderilen varsayılan fabrikası kullanmak yerine, belirli bir uygulamanın kaydedilmesini sağlar.

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, AddDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) Entity Framework IServiceProvider iç Entity Framework Hizmetleri için kendi oluşturup bakımını yapmasına izin veren kullanmanızı öneririz.

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 ve DbContext fabrikalarını kullanarak DbContext kullanma .

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

IDbContextFactory<TContext> IServiceCollection Verilen türün örneklerini oluşturmak için öğesine kaydeder DbContext .

Bağlam türünü kaydetmek yerine fabrika kaydı, yeni örneklerin kolayca oluşturulmasına izin verir DbContext . Blazor uygulamaları ve bağımlılık ekleme kapsamının bağlam ömrü ile hizalanmadığı diğer durumlar için bir fabrikası kaydetmek önerilir.

Uygulamanıza bağımlılık ekleme (Blazor gibi) kullanılı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.

Kolaylık olması için, bu yöntem bağlam türünün kendisini kapsamlı bir hizmet olarak kaydeder. Bu, bir bağlam örneğinin bir bağımlılık ekleme kapsamından doğrudan veya fabrika tarafından oluşturulan uygun şekilde çözümlenme olanağı sağlar.

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 ve DbContext fabrikalarını kullanarak DbContext kullanma .

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

IDbContextFactory<TContext> IServiceCollection Verilen türün örneklerini oluşturmak için öğesine kaydeder DbContext .

Bağlam türünü kaydetmek yerine fabrika kaydı, yeni örneklerin kolayca oluşturulmasına izin verir DbContext . Blazor uygulamaları ve bağımlılık ekleme kapsamının bağlam ömrü ile hizalanmadığı diğer durumlar için bir fabrikası kaydetmek önerilir.

Uygulamanıza bağımlılık ekleme (Blazor gibi) kullanılı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.

Kolaylık olması için, bu yöntem bağlam türünün kendisini kapsamlı bir hizmet olarak kaydeder. Bu, bir bağlam örneğinin bir bağımlılık ekleme kapsamından doğrudan veya fabrika tarafından oluşturulan uygun şekilde çözümlenme olanağı sağlar.

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, AddDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) Entity Framework IServiceProvider iç Entity Framework Hizmetleri için kendi oluşturup bakımını yapmasına izin veren kullanmanızı öneririz.

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 ve DbContext fabrikalarını kullanarak DbContext kullanma .

AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

, DbContext ' A bir hizmet olarak kaydeder IServiceCollection ve bu kayıt Için DbContext kuyruğunu etkinleştirilir.

DbContext Pooling, bağlam örneklerini yeniden kullanarak yüksek aktarım hızı senaryolarında performansı artırabilir. Ancak çoğu uygulama için bu performans kazancı çok küçüktür. Havuz kullanırken bağlam yapılandırması kullanımları arasında değişemeyeceğini ve bağlam içine eklenen kapsamlı hizmetlerin yalnızca ilk kapsamdan bir kez çözümlendiğini unutmayın. Yalnızca performans testi, gerçek bir artırma sağladığını gösteriyorsa, DbContext havuzu kullanmayı düşünün.

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 ve DbContext havuzunu kullanma Ile DbContext kullanma .

AddDbContextPool<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

, DbContext ' A bir hizmet olarak kaydeder IServiceCollection ve bu kayıt Için DbContext kuyruğunu etkinleştirilir.

DbContext Pooling, bağlam örneklerini yeniden kullanarak yüksek aktarım hızı senaryolarında performansı artırabilir. Ancak çoğu uygulama için bu performans kazancı çok küçüktür. Havuz kullanırken bağlam yapılandırması kullanımları arasında değişemeyeceğini ve bağlam içine eklenen kapsamlı hizmetlerin yalnızca ilk kapsamdan bir kez çözümlendiğini unutmayın. Yalnızca performans testi, gerçek bir artırma sağladığını gösteriyorsa, DbContext havuzu kullanmayı düşünün.

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 ve DbContext havuzunu kullanma 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, AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) Entity Framework IServiceProvider iç Entity Framework Hizmetleri için kendi oluşturup bakımını yapmasına izin veren kullanmanızı öneririz.

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Verilen hizmetini içinde DbContext bir hizmet olarak IServiceCollection kaydettirerek bu kayıt için DbContext havuzunu sağlar.

DbContext havuzu, bağlam örneklerini yeniden kullanarak yüksek aktarım hızı senaryolarında performansı artırabilir. Ancak çoğu uygulama için bu performans kazancı çok küçüktür. Havuz kullanırken bağlam yapılandırmasının kullanımlar arasında değişemezse ve bağlama ekleme yapılan kapsamlı hizmetlerin ilk kapsamdan yalnızca bir kez çözülmüş olacağını unutmayın. Yalnızca performans testi gerçek bir artış sağladığını gösteriyorken DbContext havuzu kullanmayı göz önünde bulundurabilirsiniz.

Uygulamanıza bağımlılık ekleme kullanırken bu yöntemi kullanın, örneğin, ASP.NET Core. Bağımlılık ekleme kullanmayan uygulamalar için, doğrudan oluşturucusu DbContext ile örnekler oluşturmayı göz önünde bulundurabilirsiniz. Yöntem OnConfiguring(DbContextOptionsBuilder) daha sonra bir bağlantı dizesini ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.

Entity Framework Core aynı örnekte birden çok paralel işlem çalıştırmayı DbContext desteklemez. Bu, zaman uyumsuz sorguların paralel yürütülmesini ve birden çok iş parçacığından yapılan açık eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekler veya paralel yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext iş parçacığı sorunlarından kaçınma.

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

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Verilen hizmetini içinde DbContext bir hizmet olarak IServiceCollection kaydettirerek bu kayıt için DbContext havuzunu sağlar.

DbContext havuzu, bağlam örneklerini yeniden kullanarak yüksek aktarım hızı senaryolarında performansı artırabilir. Ancak çoğu uygulama için bu performans kazancı çok küçüktür. Havuz kullanırken bağlam yapılandırmasının kullanımlar arasında değişemezse ve bağlama ekleme yapılan kapsamlı hizmetlerin ilk kapsamdan yalnızca bir kez çözülmüş olacağını unutmayın. Yalnızca performans testi gerçek bir artış sağladığını gösteriyorken DbContext havuzu kullanmayı göz önünde bulundurabilirsiniz.

Uygulamanıza bağımlılık ekleme kullanırken bu yöntemi kullanın, örneğin, ASP.NET Core. Bağımlılık ekleme kullanmayan uygulamalar için, doğrudan oluşturucusu DbContext ile örnekler oluşturmayı göz önünde bulundurabilirsiniz. Yöntem OnConfiguring(DbContextOptionsBuilder) daha sonra bir bağlantı dizesini ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.

Entity Framework Core aynı örnekte birden çok paralel işlem çalıştırmayı DbContext desteklemez. Bu, zaman uyumsuz sorguların paralel yürütülmesini ve birden çok iş parçacığından yapılan açık eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekler veya paralel yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext iş parçacığı sorunlarından kaçınma.

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

Bu aşırı yükleme, optionsAction uygulamanın 'lerini sağlayan bir 'a IServiceProvider sahip. Bu, şirket içi hizmetlerini birincil uygulama Entity Framework Core çözümleyecek şekilde ayar yapmak için kullanışlıdır. Varsayılan olarak, AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) bu sayede Entity Framework hizmetleri için kendi Entity Framework IServiceProvider sağlar.

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Örneklerin IDbContextFactory<TContext> yeniden kullanmak IServiceCollection üzere havuza alındıkları, verilen DbContext türde örnekler oluşturmak için içinde bir'i kaydettirr.

Bağlam türünü doğrudan kaydetmek yerine fabrikayı kaydetmek, yeni örneklerin kolayca oluşturulmasını DbContext sağlar. Blazor uygulamaları ve bağımlılık ekleme kapsamının bağlam ömrüyle hizalanmamış olduğu diğer durumlar için fabrika kaydı önerilir.

Blazor gibi uygulamanıza bağımlılık ekleme kullanırken bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için, doğrudan oluşturucusu DbContext ile örnekler oluşturmayı göz önünde bulundurabilirsiniz. Yöntem OnConfiguring(DbContextOptionsBuilder) daha sonra bir bağlantı dizesini ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.

Entity Framework Core aynı örnekte birden çok paralel işlem çalıştırmayı DbContext desteklemez. Bu, zaman uyumsuz sorguların paralel yürütülmesini ve birden çok iş parçacığından yapılan açık eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekler veya paralel yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext iş parçacığı sorunlarından kaçınma.

Daha fazla bilgi için bkz. Bağımlılık ekleme ile DbContextkullanma, DbContextfabrikalarını kullanma ve DbContext havuzu kullanma.

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Örneklerin IDbContextFactory<TContext> yeniden kullanmak IServiceCollection üzere havuza alındıkları, verilen DbContext türde örnekler oluşturmak için içinde bir'i kaydettirr.

Bağlam türünü doğrudan kaydetmek yerine fabrikayı kaydetmek, yeni örneklerin kolayca oluşturulmasını DbContext sağlar. Blazor uygulamaları ve bağımlılık ekleme kapsamının bağlam ömrüyle hizalanmamış olduğu diğer durumlar için fabrika kaydı önerilir.

Blazor gibi uygulamanıza bağımlılık ekleme kullanırken bu yöntemi kullanın. Bağımlılık ekleme kullanmayan uygulamalar için, doğrudan oluşturucusu DbContext ile örnekler oluşturmayı göz önünde bulundurabilirsiniz. Yöntem OnConfiguring(DbContextOptionsBuilder) daha sonra bir bağlantı dizesini ve diğer seçenekleri yapılandırmak için geçersiz kılınabilir.

Entity Framework Core aynı örnekte birden çok paralel işlem çalıştırmayı DbContext desteklemez. Bu, zaman uyumsuz sorguların paralel yürütülmesini ve birden çok iş parçacığından yapılan açık eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekler veya paralel yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext iş parçacığı sorunlarından kaçınma.

Daha fazla bilgi için bkz. Bağımlılık ekleme ile DbContextkullanma, DbContextfabrikalarını kullanma ve DbContext havuzu kullanma.

Şunlara uygulanır