DbContextOptionsBuilder Třída

Definice

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 optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) k protokolování ContextInitialized události do konzoly.

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

Protokoluje všechny události v zadaných kategoriích pomocí zadané akce. Použijte optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) například k protokolování všech událostí v DbLoggerCategory.Infrastructure kategorii.

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

Protokoluje pomocí zadané akce. Můžete například použít optionsBuilder.LogTo(Console.WriteLine) k přihlášení ke konzole.

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í

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

Konfiguruje kontext pro připojení k databázi Azure Cosmos.

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

Konfiguruje kontext pro připojení k databázi Azure Cosmos.

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

Konfiguruje kontext pro připojení k databázi Azure Cosmos.

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
Zastaralé.
Zastaralé.

Konfiguruje kontext pro připojení ke starší sdílené databázi v paměti. Tato metoda je zastaralá. Místo toho použijte UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>).

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

Konfiguruje kontext pro připojení k pojmenované databázi v paměti. Databáze v paměti se sdílí všude, kde se používá stejný název, ale pouze pro daného poskytovatele služeb.

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

Konfiguruje kontext pro připojení k pojmenované databázi v paměti. Databáze v paměti se sdílí všude, kde se používá stejný název, ale pouze pro daného poskytovatele služeb. Pokud chcete použít stejnou databázi v paměti mezi poskytovateli služeb, zavolejte UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) předání sdílené InMemoryDatabaseRoot databáze, na které se má databáze rootovat.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Zapne vytváření proxy pro sledování změn.

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Zapne vytváření opožděných načítacích proxy serverů.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Zapne vytváření opožděných načítacích proxy serverů.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Konfiguruje kontext pro připojení k databázi SQLite, ale bez počátečního nastavení nebo DbConnection připojovací řetězec.

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Konfiguruje kontext pro připojení k databázi SQLite.

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

Konfiguruje kontext pro připojení k databázi SQLite.

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

Konfiguruje kontext pro připojení k databázi SQLite.

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Konfiguruje kontext pro připojení k databázi Microsoft SQL Server, ale bez počátečního nastavení nebo DbConnection připojovací řetězec.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Konfiguruje kontext pro připojení k databázi Microsoft SQL Server.

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

Konfiguruje kontext pro připojení k databázi Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Konfiguruje kontext pro připojení k databázi Microsoft SQL Server.

Platí pro