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í rozšiřující metody pro tento objekt, které umožňují nakonfigurovat připojení k databázi (a další možnosti) pro použití v kontextu.
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- Dědičnost
-
DbContextOptionsBuilder
- Odvozené
- Implementuje
Poznámky
Můžete použít DbContextOptionsBuilder ke konfiguraci kontextu přepsáním OnConfiguring(DbContextOptionsBuilder) nebo vytvořením DbContextOptions externě a předáním do konstruktoru kontextu.
Další informace a příklady najdete v tématu Použití DbContextOptions .
Konstruktory
DbContextOptionsBuilder() |
Inicializuje novou instanci DbContextOptionsBuilder třídy bez nastavení možností. |
DbContextOptionsBuilder(DbContextOptions) |
Inicializuje novou instanci DbContextOptionsBuilder třídy pro další konfiguraci dané DbContextOptionstřídy . |
Vlastnosti
IsConfigured |
Získá hodnotu označující, zda byly nakonfigurovány některé možnosti. |
Options |
Získá nakonfigurované možnosti. |
Metody
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 bude EF Core ukládat konfiguraci protokolování do mezipaměti v určitých vysoce výkonných cestách. To způsobí, že EF Core přeskočí potenciálně nákladné kontroly protokolování, ale znamená to, že změny protokolování modulu runtime (např. registrace nového DiagnosticListener nemusí být okamžitě vzata v úvahu). |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Konfiguruje chování za běhu upozornění vygenerovaný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í za běhu upozornění vygenerovaný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 datových hodnot, 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", pak se při zpracování hodnoty dat 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 zahrnout data aplikace do zpráv o výjimce, 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 příslušná bezpečnostní opatření na základě citlivosti těchto dat. |
EnableSensitiveDataLogging(Boolean) |
Umožňuje zahrnout data aplikace do zpráv o výjimce, 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 příslušná bezpečnostní opatření na základě citlivosti těchto dat. |
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žívat pouze v testovacích scénářích, které vytvářejí mnoho poskytovatelů služeb pro testovací izolaci. |
EnableThreadSafetyChecks(Boolean) |
Zakáže detekci souběžnosti, která detekuje mnoho případů chybného souběžného DbContext použití instance a způsobí vyvolání informativní výjimky. To přináší menší zvýšení výkonu, ale pokud DbContext se instance používá souběžně, chování nebude definováno a program může nepředvídatelně selhat. |
LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
Protokoluje události filtrované zadaným delegátem vlastního filtru. Filtr by měl vrátit hodnotu true, pokud chcete zprávu protokolovat, nebo hodnotu false, pokud ji chcete z protokolu vyfiltrovat. |
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
Protokoluje zadané události pomocí zadané akce. Můžete například použít |
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Protokoluje všechny události v zadaných kategoriích pomocí zadané akce. Použijte |
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Protokoluje pomocí zadané akce. Můžete například použít |
LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Protokoluje události do vlastního delegáta protokolovacího nástroje filtrovaného delegátem vlastního filtru. Filtr by měl vrátit hodnotu true, pokud chcete zprávu protokolovat, nebo hodnotu false, pokud ji chcete z protokolu vyfiltrovat. |
ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Nahradí interní implementaci Entity Framework konkrétní implementace servisní smlouvy jinou implementací. |
ReplaceService<TService,TImplementation>() |
Nahradí všechny interní implementace Entity Framework servisní smlouvy jinou implementací. |
UseApplicationServiceProvider(IServiceProvider) |
Nastaví, IServiceProvider ze kterého se budou aplikační služby 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. |
UseInternalServiceProvider(IServiceProvider) |
Nastaví, IServiceProvider 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) |
Nastaví objekt ILoggerFactory , který se použije k vytváření ILogger instancí pro protokolování provedeného tímto kontextem. |
UseMemoryCache(IMemoryCache) |
Nastaví pro IMemoryCache 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í dotazů LINQ spuštěných v kontextu. Zakázání sledování změn je užitečné ve scénářích jen pro čtení, protože se tím vyhnete režijním nákladům na nastavení 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 poskytovatele aplikačních služeb s vymezeným oborem. Kořenového zprostředkovatele je možné použít k získání jednoúčelových aplikačních služeb z interních služeb typu singleton. |
UseRootApplicationServiceProvider(IServiceProvider) |
Nastaví kořen IServiceProvider , ze kterého lze získat jednoúčelové aplikační služby z jednoúčelových interních služeb. |
Explicitní implementace rozhraní
IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Přidá dané rozšíření do možností. Pokud existující rozšíření stejného typu již existuje, bude nahrazeno. |
Metody rozšíření
Platí pro
Entity Framework