DbContextOptionsBuilder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje jednoduchou plochu rozhraní API pro konfiguraci DbContextOptions. Databáze (a další rozšíření) obvykle definují metody rozšíření pro tento objekt, které umožňují konfigurovat připojení k databázi (a další možnosti), které se mají použít pro kontext.
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- Dědičnost
-
DbContextOptionsBuilder
- Odvozené
- Atributy
- Implementuje
Poznámky
Můžete použít DbContextOptionsBuilder ke konfiguraci kontextu přepsáním OnConfiguring(DbContextOptionsBuilder) nebo vytvořením DbContextOptions externě a jeho předáním do konstruktoru kontextu.
Další informace a příklady najdete v tématu Použití DbContextOptions .
Konstruktory
| Název | Description |
|---|---|
| DbContextOptionsBuilder() |
Inicializuje novou instanci DbContextOptionsBuilder třídy bez nastavení možností. |
| DbContextOptionsBuilder(DbContextOptions) |
Inicializuje novou instanci DbContextOptionsBuilder třídy pro další konfiguraci dané DbContextOptions. |
Vlastnosti
| Název | Description |
|---|---|
| IsConfigured |
Získá hodnotu označující, zda byly nakonfigurovány některé možnosti. |
| Options |
Získá nakonfigurované možnosti. |
Metody
| Název | Description |
|---|---|
| AddInterceptors(IEnumerable<IInterceptor>) |
Přidá IInterceptor instance do instancí zaregistrovaných v kontextu. |
| AddInterceptors(IInterceptor[]) |
Přidá IInterceptor instance do instancí zaregistrovaných v kontextu. |
| ConfigureLoggingCacheTime(TimeSpan) |
Konfiguruje, jak dlouho EF Core bude ukládat konfiguraci protokolování do mezipaměti v určitých vysoce výkonných cestách. Díky tomu ef Core přeskočí potenciálně nákladné kontroly protokolování, ale znamená to, že změny protokolování za běhu (např. registrace nového DiagnosticListener se nemusí vzít v úvahu hned). |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Konfiguruje chování modulu runtime upozornění generovaných rozhraním Entity Framework. Pro každý typ upozornění můžete nastavit výchozí chování a chování. |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Konfiguruje chování modulu runtime upozornění generovaných rozhraním Entity Framework. Pro každý typ upozornění můžete nastavit výchozí chování a chování. |
| EnableDetailedErrors(Boolean) |
Umožňuje podrobné chyby při zpracování výjimek hodnot dat, ke kterým dochází při zpracování výsledků dotazu úložiště. K takovým chybám nejčastěji dochází kvůli chybné konfiguraci vlastností entity. Například pokud je vlastnost nakonfigurovaná tak, aby byla typu int, ale podkladová data v úložišti jsou ve skutečnosti typu "string", při zpracování hodnoty dat se vygeneruje výjimka za běhu. Pokud je tato možnost povolená a dojde k chybě dat, vygenerovaná výjimka bude obsahovat podrobnosti o konkrétní vlastnosti entity, která chybu vygenerovala. |
| EnableSensitiveDataLogging() |
Umožňuje zahrnutí aplikačních dat do zpráv o výjimkách, protokolování atd. To může zahrnovat hodnoty přiřazené vlastnostem instancí entit, hodnoty parametrů pro příkazy odesílané do databáze a další taková data. Tento příznak byste měli povolit pouze v případě, že máte založena na citlivosti těchto dat příslušná bezpečnostní opatření. |
| EnableSensitiveDataLogging(Boolean) |
Umožňuje zahrnutí aplikačních dat do zpráv o výjimkách, protokolování atd. To může zahrnovat hodnoty přiřazené vlastnostem instancí entit, hodnoty parametrů pro příkazy odesílané do databáze a další taková data. Tento příznak byste měli povolit pouze v případě, že máte založena na citlivosti těchto dat příslušná bezpečnostní opatření. |
| EnableServiceProviderCaching(Boolean) |
Povolí nebo zakáže ukládání interních poskytovatelů služeb do mezipaměti. Zakázání ukládání do mezipaměti může výrazně ovlivnit výkon a mělo by se použít pouze v testovacích scénářích, které vytvářejí mnoho poskytovatelů služeb pro izolaci testů. |
| EnableThreadSafetyChecks(Boolean) |
Zakáže detekci souběžnosti, která detekuje mnoho případů chybného souběžného použití DbContext instance a způsobí vyvolání informativní výjimky. To poskytuje menší zlepšení výkonu, ale pokud DbContext se instance používá souběžně, chování nebude definováno a program může selhat nepředvídatelnými způsoby. |
| LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
Zaznamenává události filtrované zadaným delegátem vlastního filtru. Filtr by měl vrátit hodnotu true, aby se zpráva protokoluje, nebo aby se vyfiltruje z protokolu nepravda. |
| LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
Zaznamená zadané události pomocí zadané akce. Slouží |
| LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Protokoluje všechny události v zadaných kategoriích pomocí zadané akce. Slouží |
| LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Protokoly se používají zadanou akci. Můžete |
| LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Zaznamenává události do vlastního delegáta protokolovacího nástroje filtrovaného vlastním delegátem filtru. Filtr by měl vrátit hodnotu true, aby se zpráva protokoluje, nebo aby se vyfiltruje z protokolu nepravda. |
| ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Nahrazuje interní implementaci entity Framework konkrétní implementace kontraktu služby jinou implementací. |
| ReplaceService<TService,TImplementation>() |
Nahradí všechny interní implementace entity Framework kontraktu služby jinou implementací. |
| UseApplicationServiceProvider(IServiceProvider) |
Nastaví, IServiceProvider ze kterých aplikačních služeb se budou získávat. To se provádí automaticky při použití AddDbContext nebo AddDbContextPool, takže je vzácné, že tuto metodu je potřeba volat. |
| UseAsyncSeeding(Func<DbContext,Boolean,CancellationToken,Task>) |
Nakonfiguruje počáteční metodu tak, aby se spustila po EnsureCreatedAsync(CancellationToken) zavolání nebo po provedení asynchronně použitých migrací. Vyvolá se, i když nebyly provedeny žádné změny úložiště. |
| UseInternalServiceProvider(IServiceProvider) |
IServiceProvider Nastaví, ze kterého by měl kontext přeložit všechny své služby. Ef vytvoří a spravuje poskytovatele služeb, pokud není zadán žádný. |
| UseLoggerFactory(ILoggerFactory) |
ILoggerFactory Nastaví, který se použije k vytvoření ILogger instancí pro protokolování provedené tímto kontextem. |
| UseMemoryCache(IMemoryCache) |
IMemoryCache Nastaví použití pro ukládání dotazů do mezipaměti v tomto kontextu. |
| UseModel(IModel) |
Nastaví model, který se má použít pro kontext. Pokud je model nastavený, OnModelCreating(ModelBuilder) pak se nespustí. |
| UseQueryTrackingBehavior(QueryTrackingBehavior) |
Nastaví chování sledování pro dotazy LINQ spuštěné v kontextu. Zakázání sledování změn je užitečné pro scénáře jen pro čtení, protože zabraňuje režii při nastavování sledování změn pro každou instanci entity. Sledování změn byste neměli zakázat, pokud chcete manipulovat s instancemi entit a zachovat tyto změny v databázi pomocí SaveChanges(). |
| UseRootApplicationServiceProvider() |
Vyřeší kořen IServiceProvider z zprostředkovatele aplikačních služeb s vymezeným oborem. Kořenový zprostředkovatel lze použít k získání jednoúčelových aplikačních služeb z interních služeb singleton. |
| UseRootApplicationServiceProvider(IServiceProvider) |
Nastaví kořen IServiceProvider , ze kterého lze získat jednoúčelové aplikační služby z interních služeb singleton. |
| UseSeeding(Action<DbContext,Boolean>) |
Nakonfiguruje počáteční metodu tak, aby se spustila po EnsureCreated() zavolání nebo po použití migrací. Vyvolá se, i když nebyly provedeny žádné změny úložiště. |
Explicitní implementace rozhraní
| Název | Description |
|---|---|
| IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Přidá dané rozšíření do možností. Pokud již existující rozšíření stejného typu existuje, nahradí se. |
| IDbContextOptionsBuilderInfrastructure.RemoveExtension<TExtension>() |
Odebere rozšíření daného typu z možností. Pokud neexistuje žádné rozšíření daného typu, jedná se o no-op. |