DbContextOptionsBuilder 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ı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ı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 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
Entity Framework