Share via


DbContextOptionsBuilder Sınıf

Tanım

yapılandırması DbContextOptionsiçin basit bir API yüzeyi sağlar. Veritabanları (ve diğer uzantılar) genellikle bu nesnede 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 : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
    interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
Devralma
DbContextOptionsBuilder
Türetilmiş
Uygulamalar

Açıklamalar

Bir bağlamı geçersiz kılarak OnConfiguring(DbContextOptionsBuilder) veya harici olarak DbContextOptions oluşturup bağlam oluşturucuya geçirerek yapılandırmak için kullanabilirsinizDbContextOptionsBuilder.

Daha fazla bilgi ve örnek için bkz. DbContextOptions kullanma .

Oluşturucular

DbContextOptionsBuilder()

Hiçbir seçenek ayarlı olmadan sınıfın DbContextOptionsBuilder yeni bir örneğini başlatır.

DbContextOptionsBuilder(DbContextOptions)

Belirli DbContextOptionsbir öğesini daha fazla yapılandırmak için sınıfının yeni bir örneğini DbContextOptionsBuilder başlatır.

Özellikler

IsConfigured

Herhangi bir seçeneğin yapılandırılıp yapılandırılmadığını belirten bir değer alır.

Options

Yapılandırılan seçenekleri alır.

Yöntemler

AddInterceptors(IEnumerable<IInterceptor>)

Bağlam üzerinde kaydedilenlere örnekler ekler IInterceptor .

AddInterceptors(IInterceptor[])

Bağlam üzerinde kaydedilenlere örnekler ekler IInterceptor .

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 atlar, 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ın işlenmesi sırasında 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 alınan 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 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ılamayı devre dışı bırakır. Bu durum, bir DbContext örneğin hatalı eşzamanlı kullanımıyla ilgili birçok durumu algılar ve bilgilendirici bir özel durumun oluşması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ınoptionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }).

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ınoptionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }).

LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Sağlanan eylemi kullanarak günlüğe kaydeder. Örneğin, konsolda oturum açmak için kullanın optionsBuilder.LogTo(Console.WriteLine) .

LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>)

Olayları özel bir filtre temsilcisi tarafından filtrelenmiş özel 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' veya 'AddDbContextPool' kullanılırken otomatik olarak yapılır, bu nedenle bu yöntemin çağrılması çok nadirdir.

UseInternalServiceProvider(IServiceProvider)

Bağlamın IServiceProvider tüm hizmetlerini çözümlemesi gereken öğesini ayarlar. Hiçbir hizmet sağlayıcısı belirtilmezse EF 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 OnModelCreating(ModelBuilder) çalıştırılmaz.

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 yararlıdır. Varlık örneklerini işlemek ve bu değişiklikleri kullanarak SaveChanges()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ından kökünü IServiceProvider çözümler. Kök sağlayıcı, tekil iç hizmetlerden tekil uygulama hizmetleri almak için kullanılabilir.

UseRootApplicationServiceProvider(IServiceProvider)

Tekil uygulama hizmetlerinin tekil iç hizmetlerden alınabileceği kökü IServiceProvider ayarlar.

Belirtik Arabirim Kullanımları

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

Verilen uzantıyı seçeneklere ekler. Aynı türde mevcut bir uzantı zaten varsa, bu uzantı değiştirilir.

Uzantı Metotları

UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>)

Bağlamı bir Azure Cosmos veritabanına bağlanacak şekilde yapılandırılır.

UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>)

Bağlamı bir Azure Cosmos veritabanına bağlanacak şekilde yapılandırılır.

UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>)

Bağlamı bir Azure Cosmos veritabanına bağlanacak şekilde yapılandırılır.

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
Geçersiz.
Geçersiz.

Bağlamı, eski paylaşılan bellek içi veritabanına bağlanacak şekilde yapılandırılır. Bu yöntem kullanımdan kaldırıldı. Bunun yerine UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) kullanın.

UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>)

Bağlamı adlandırılmış bir bellek içi veritabanına bağlanacak şekilde yapılandırılır. Bellek içi veritabanı, yalnızca belirli bir hizmet sağlayıcısı için aynı adın kullanıldığı her yerde paylaşılır.

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

Bağlamı adlandırılmış bir bellek içi veritabanına bağlanacak şekilde yapılandırılır. Bellek içi veritabanı, yalnızca belirli bir hizmet sağlayıcısı için aynı adın kullanıldığı her yerde paylaşılır. Hizmet sağlayıcıları arasında aynı bellek içi veritabanını kullanmak için, veritabanının kökünü oluşturmak için paylaşılan InMemoryDatabaseRoot bir veritabanını geçirme çağrısı UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) yapın.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Değişiklik izleme proxy'lerinin oluşturulmasını açar.

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Yavaş yükleme proxy'lerinin oluşturulmasını açar.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Yavaş yükleme proxy'lerinin oluşturulmasını açar.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Bağlamı bir SQLite veritabanına bağlanacak şekilde yapılandırılır, ancak başlangıçta herhangi bir DbConnection veya bağlantı dizesi ayarlanmadan.

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Bağlamı SQLite veritabanına bağlanacak şekilde yapılandırılır.

UseSqlite(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>)

Bağlamı SQLite veritabanına bağlanacak şekilde yapılandırılır.

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

Bağlamı SQLite veritabanına bağlanacak şekilde yapılandırılır.

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Bağlamı bir Microsoft SQL Server veritabanına bağlanacak şekilde, ancak başlangıçta herhangi bir DbConnection veya bağlantı dizesi ayarlamadan yapılandırılır.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Bağlamı bir Microsoft SQL Server veritabanına bağlanacak şekilde yapılandırılır.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>)

Bağlamı bir Microsoft SQL Server veritabanına bağlanacak şekilde yapılandırılır.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Bağlamı bir Microsoft SQL Server veritabanına bağlanacak şekilde yapılandırılır.

Şunlara uygulanır