DbContextOptionsBuilder<TContext> 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.
yapılandırmak DbContextOptions<TContext>için basit bir API yüzeyi sağlar. Veritabanları (ve diğer uzantılar) genellikle bu nesne üzerinde bir bağlam için kullanılacak veritabanı bağlantısını (ve diğer seçenekleri) yapılandırmanıza olanak sağlayan uzantı yöntemlerini tanımlar.
public class DbContextOptionsBuilder<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContextOptionsBuilder<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
inherit DbContextOptionsBuilder
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
inherit DbContextOptionsBuilder
Public Class DbContextOptionsBuilder(Of TContext)
Inherits DbContextOptionsBuilder
Tür Parametreleri
- TContext
Yapılandırılacak bağlam türü.
- Devralma
- Özellikler
Açıklamalar
Bir bağlamı geçersiz kılarak OnConfiguring(DbContextOptionsBuilder) veya harici olarak oluşturup DbContextOptions bağlam oluşturucuya geçirerek yapılandırmak için kullanabilirsinizDbContextOptionsBuilder.
Daha fazla bilgi ve örnek için bkz. DbContextOptions kullanma .
Oluşturucular
| Veri Akışı Adı | Description |
|---|---|
| DbContextOptionsBuilder<TContext>() |
Hiçbir seçenek ayarlı olmadan sınıfın DbContextOptionsBuilder<TContext> yeni bir örneğini başlatır. |
| DbContextOptionsBuilder<TContext>(DbContextOptions<TContext>) |
Belirli DbContextOptionsbir öğesini daha fazla yapılandırmak için sınıfının yeni bir örneğini DbContextOptionsBuilder<TContext> başlatır. |
Özellikler
| Veri Akışı Adı | Description |
|---|---|
| IsConfigured |
Herhangi bir seçeneğin yapılandırılıp yapılandırılmadığını belirten bir değer alır. (Devralındığı yer: DbContextOptionsBuilder) |
| Options |
Yapılandırılan seçenekleri alır. |
Yöntemler
| Veri Akışı Adı | Description |
|---|---|
| AddInterceptors(IEnumerable<IInterceptor>) |
Bağlam üzerinde kaydedilenlere örnekler ekler IInterceptor . |
| AddInterceptors(IEnumerable<IInterceptor>) |
Bağlam üzerinde kaydedilenlere örnekler ekler IInterceptor . (Devralındığı yer: DbContextOptionsBuilder) |
| AddInterceptors(IInterceptor[]) |
Bağlam üzerinde kaydedilenlere örnekler ekler IInterceptor . |
| AddInterceptors(IInterceptor[]) |
Bağlam üzerinde kaydedilenlere örnekler ekler IInterceptor . (Devralındığı yer: DbContextOptionsBuilder) |
| ConfigureLoggingCacheTime(TimeSpan) |
EF Core'un belirli yüksek performanslı yollarda günlüğe kaydetme yapılandırmasını ne kadar süreyle önbelleğe alacağını yapılandırır. Bu, EF Core'un olası maliyetli günlük denetimlerini atlamasına neden olur, ancak çalışma zamanı günlüğü değişikliklerinin (örneğin, yeni DiagnosticListener bir kaydın hemen dikkate alınamayabileceği) anlamına gelir. |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Entity Framework tarafından oluşturulan uyarıların çalışma zamanı davranışını yapılandırılır. Her uyarı türü için varsayılan bir davranış ve davranış ayarlayabilirsiniz. |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Entity Framework tarafından oluşturulan uyarıların çalışma zamanı davranışını yapılandırılır. Her uyarı türü için varsayılan bir davranış ve davranış ayarlayabilirsiniz. |
| EnableDetailedErrors(Boolean) |
Depolama sorgusu sonuçlarının işlenmesi sırasında oluşan veri değeri özel durumlarını işlerken ayrıntılı hataları etkinleştirir. Bu tür hatalar genellikle varlık özelliklerinin yanlış yapılandırılması nedeniyle oluşur. Örneğin, bir özellik 'int' türünde olacak şekilde yapılandırılmışsa ancak depodaki temel veriler aslında 'string' türündeyse, veri değeri işlenirken çalışma zamanında bir özel durum oluşturulur. Bu seçenek etkinleştirildiğinde ve bir veri hatasıyla karşılaşıldığında, oluşturulan özel durum hatayı oluşturan belirli varlık özelliğinin ayrıntılarını içerir. |
| EnableSensitiveDataLogging() |
Uygulama verilerinin özel durum iletilerine, günlüğe kaydetmeye vb. eklenmesini sağlar. Bu, varlık örneklerinizin özelliklerine atanan değerleri, veritabanına gönderilen komutların parametre değerlerini ve bu tür diğer verileri içerebilir. Bu bayrağı yalnızca bu verilerin duyarlılığına bağlı olarak uygun güvenlik önlemlerine sahipseniz etkinleştirmeniz gerekir. |
| EnableSensitiveDataLogging(Boolean) |
Uygulama verilerinin özel durum iletilerine, günlüğe kaydetmeye vb. eklenmesini sağlar. Bu, varlık örneklerinizin özelliklerine atanan değerleri, veritabanına gönderilen komutların parametre değerlerini ve bu tür diğer verileri içerebilir. Bu bayrağı yalnızca bu verilerin duyarlılığına bağlı olarak uygun güvenlik önlemlerine sahipseniz etkinleştirmeniz gerekir. |
| EnableServiceProviderCaching(Boolean) |
İç hizmet sağlayıcılarının önbelleğe alınmasını etkinleştirir veya devre dışı bırakır. Önbelleğe almayı devre dışı bırakmak performansı büyük ölçüde etkileyebilir ve yalnızca test yalıtımı için birçok hizmet sağlayıcısı oluşturan test senaryolarında kullanılmalıdır. |
| EnableThreadSafetyChecks(Boolean) |
Eşzamanlılık algılamasını devre dışı bırakır ve bu durum birçok DbContext hatalı eşzamanlı kullanım örneğini algılar ve bilgilendirici bir özel durumun ortaya çıkmasına neden olur. Bu küçük bir performans geliştirmesi sağlar, ancak bir DbContext örnek eşzamanlı olarak kullanılırsa, davranış tanımlanmamış olur ve program öngörülemeyen yollarla başarısız olabilir. |
| LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
Sağlanan özel filtre temsilcisi tarafından filtrelenen olayları günlüğe kaydeder. Filtre, bir iletiyi günlüğe kaydetmek için true veya günlük dışında filtrelemek için false döndürmelidir. |
| LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
Sağlanan eylemi kullanarak belirtilen olayları günlüğe kaydeder. Örneğin, olayı konsolda ContextInitialized günlüğe kaydetmek için kullanın |
| LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Sağlanan eylemi kullanarak belirtilen kategorilerdeki tüm olayları günlüğe kaydeder. Örneğin, kategorideki DbLoggerCategory.Infrastructure tüm olayları günlüğe kaydetmek için kullanın |
| LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Sağlanan eylemi kullanarak günlüğe kaydeder. Örneğin, konsolda oturum açmak için kullanın |
| LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Olayları özel bir filtre temsilcisi tarafından filtrelenmiş özel bir günlükçü temsilcisine günlüğe kaydeder. Filtre, bir iletiyi günlüğe kaydetmek için true veya günlük dışında filtrelemek için false döndürmelidir. |
| ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Hizmet sözleşmesinin belirli bir uygulamasının iç Entity Framework uygulamasını farklı bir uygulamayla değiştirir. |
| ReplaceService<TService,TImplementation>() |
Bir hizmet sözleşmesinin tüm iç Entity Framework uygulamalarını farklı bir uygulamayla değiştirir. |
| UseApplicationServiceProvider(IServiceProvider) |
Uygulama hizmetlerinin IServiceProvider hangi kaynaktan alınacağını ayarlar. Bu, 'AddDbContext' kullanılırken otomatik olarak yapılır, bu nedenle bu yöntemin çağrılması nadirdir. |
| UseAsyncSeeding(Func<DbContext,Boolean,CancellationToken,Task>) |
Geçişler zaman uyumsuz olarak uygulandıktan sonra veya çağrıldıktan EnsureCreatedAsync(CancellationToken) sonra çalıştırılacak şekilde seed yöntemini yapılandırılır. Depoda hiçbir değişiklik yapılmamış olsa bile çağrılır. |
| UseAsyncSeeding(Func<TContext,Boolean,CancellationToken,Task>) |
Geçişler zaman uyumsuz olarak uygulandıktan sonra veya çağrıldıktan EnsureCreatedAsync(CancellationToken) sonra çalıştırılacak şekilde seed yöntemini yapılandırılır. Depoda hiçbir değişiklik yapılmamış olsa bile çağrılır. |
| UseInternalServiceProvider(IServiceProvider) |
Bağlamın IServiceProvider tüm hizmetlerini çözümlemesi gereken öğesini ayarlar. Ef, belirtilmezse bir hizmet sağlayıcısı oluşturur ve yönetir. |
| UseLoggerFactory(ILoggerFactory) |
Bu bağlam tarafından ILoggerFactory yapılan günlüğe kaydetme örnekleri oluşturmak ILogger için kullanılacak öğesini ayarlar. |
| UseMemoryCache(IMemoryCache) |
IMemoryCache Bu bağlama göre sorgu önbelleğe alma için kullanılacak öğesini ayarlar. |
| UseModel(IModel) |
Bağlam için kullanılacak modeli ayarlar. Model ayarlandıysa çalıştırılmaz OnModelCreating(ModelBuilder) . |
| UseQueryTrackingBehavior(QueryTrackingBehavior) |
Bağlama göre çalıştırılacak LINQ sorguları için izleme davranışını ayarlar. Değişiklik izlemenin devre dışı bırakılması, her varlık örneği için değişiklik izleme ayarlama ek yükünü önlediğinden salt okunur senaryolar için kullanışlıdır. Varlık örneklerini işlemek ve kullanarak SaveChanges()bu değişiklikleri veritabanında kalıcı hale getirmek istiyorsanız değişiklik izlemeyi devre dışı bırakmamalısınız. |
| UseRootApplicationServiceProvider() |
Kapsamı belirlenmiş uygulama hizmeti sağlayıcısının kökünü IServiceProvider çözümler. Kök sağlayıcı, tekil iç hizmetlerden tekil uygulama hizmetlerini almak için kullanılabilir. |
| UseRootApplicationServiceProvider(IServiceProvider) |
Tekil uygulama hizmetlerinin tekil iç hizmetlerden alınabileceği kökü IServiceProvider ayarlar. |
| UseSeeding(Action<DbContext,Boolean>) |
Tohum yöntemini, geçişler uygulandıktan sonra veya çağrıldıktan EnsureCreated() sonra çalıştırılacak şekilde yapılandırılır. Depoda hiçbir değişiklik yapılmamış olsa bile çağrılır. |
| UseSeeding(Action<TContext,Boolean>) |
Tohum yöntemini, geçişler uygulandıktan sonra veya çağrıldıktan EnsureCreated() sonra çalıştırılacak şekilde yapılandırılır. Depoda hiçbir değişiklik yapılmamış olsa bile çağrılır. |
Belirtik Arabirim Kullanımları
| Veri Akışı Adı | Description |
|---|---|
| IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Verilen uzantıyı seçeneklere ekler. Aynı türde mevcut bir uzantı zaten varsa, bu uzantı değiştirilir. (Devralındığı yer: DbContextOptionsBuilder) |
| IDbContextOptionsBuilderInfrastructure.RemoveExtension<TExtension>() |
Verilen türün uzantısını seçeneklerden kaldırır. Verilen türün uzantısı yoksa, bu bir no-op. (Devralındığı yer: DbContextOptionsBuilder) |