EntityFrameworkServiceCollectionExtensions Sınıf
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.
İç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 |
| 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<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 |
| 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 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 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 |
| 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, |
| 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. |