Udostępnij za pośrednictwem


DbContextOptionsBuilder Klasa

Definicja

Udostępnia prostą powierzchnię interfejsu API do konfigurowania elementu DbContextOptions. Bazy danych (i inne rozszerzenia) zwykle definiują metody rozszerzenia dla tego obiektu, które umożliwiają skonfigurowanie połączenia bazy danych (i innych opcji) do użycia w kontekście.

public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
    interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
Dziedziczenie
DbContextOptionsBuilder
Pochodne
Implementuje

Uwagi

Za pomocą DbContextOptionsBuilder polecenia można skonfigurować kontekst, przesłaniając OnConfiguring(DbContextOptionsBuilder) lub DbContextOptions tworząc zewnętrznie i przekazując go do konstruktora kontekstu.

Aby uzyskać więcej informacji i przykładów, zobacz Using DbContextOptions (Używanie elementu DbContextOptions ).

Konstruktory

DbContextOptionsBuilder()

Inicjuje nowe wystąpienie klasy bez ustawionych DbContextOptionsBuilder opcji.

DbContextOptionsBuilder(DbContextOptions)

Inicjuje nowe wystąpienie klasy, DbContextOptionsBuilder aby jeszcze bardziej skonfigurować daną DbContextOptionsklasę .

Właściwości

IsConfigured

Pobiera wartość wskazującą, czy skonfigurowano jakiekolwiek opcje.

Options

Pobiera konfigurowane opcje.

Metody

AddInterceptors(IEnumerable<IInterceptor>)

Dodaje IInterceptor wystąpienia do wystąpień zarejestrowanych w kontekście.

AddInterceptors(IInterceptor[])

Dodaje IInterceptor wystąpienia do wystąpień zarejestrowanych w kontekście.

ConfigureLoggingCacheTime(TimeSpan)

Konfiguruje, jak długo program EF Core buforuje konfigurację rejestrowania w niektórych ścieżkach o wysokiej wydajności. Dzięki temu program EF Core może pominąć potencjalnie kosztowne kontrole rejestrowania, ale oznacza to, że zmiany rejestrowania środowiska uruchomieniowego (np. zarejestrowanie nowego DiagnosticListener może nie być brane pod uwagę od razu).

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Konfiguruje zachowanie środowiska uruchomieniowego ostrzeżeń generowanych przez program Entity Framework. Dla każdego typu ostrzeżenia można ustawić domyślne zachowanie i zachowania.

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Konfiguruje zachowanie środowiska uruchomieniowego ostrzeżeń generowanych przez program Entity Framework. Dla każdego typu ostrzeżenia można ustawić domyślne zachowanie i zachowania.

EnableDetailedErrors(Boolean)

Umożliwia szczegółowe błędy podczas obsługi wyjątków wartości danych występujących podczas przetwarzania wyników zapytań magazynu. Takie błędy najczęściej występują z powodu błędnej konfiguracji właściwości jednostki. Na przykład jeśli właściwość jest skonfigurowana jako typ "int", ale bazowe dane w magazynie są rzeczywiście typu "string", wyjątek zostanie wygenerowany w czasie wykonywania podczas przetwarzania wartości danych. Po włączeniu tej opcji i napotkaniu błędu danych wygenerowany wyjątek będzie zawierać szczegóły określonej właściwości jednostki, która wygenerowała błąd.

EnableSensitiveDataLogging()

Umożliwia uwzględnianie danych aplikacji w komunikatach o wyjątkach, rejestrowaniu itp. Może to obejmować wartości przypisane do właściwości wystąpień jednostki, wartości parametrów dla poleceń wysyłanych do bazy danych i innych takich danych. Tę flagę należy włączyć tylko wtedy, gdy masz odpowiednie środki zabezpieczeń na podstawie poufności tych danych.

EnableSensitiveDataLogging(Boolean)

Umożliwia uwzględnianie danych aplikacji w komunikatach o wyjątkach, rejestrowaniu itp. Może to obejmować wartości przypisane do właściwości wystąpień jednostki, wartości parametrów dla poleceń wysyłanych do bazy danych i innych takich danych. Tę flagę należy włączyć tylko wtedy, gdy masz odpowiednie środki zabezpieczeń na podstawie poufności tych danych.

EnableServiceProviderCaching(Boolean)

Włącza lub wyłącza buforowanie wewnętrznych dostawców usług. Wyłączenie buforowania może mieć ogromny wpływ na wydajność i powinno być używane tylko w scenariuszach testowych, które tworzą wielu dostawców usług na potrzeby izolacji testowej.

EnableThreadSafetyChecks(Boolean)

Wyłącza wykrywanie współbieżności, które wykrywa wiele przypadków błędnego współbieżnego użycia DbContext wystąpienia i powoduje zgłoszenie wyjątku informacyjnego. Zapewnia to niewielką poprawę wydajności, ale jeśli DbContext wystąpienie jest używane współbieżnie, zachowanie będzie niezdefiniowane, a program może zakończyć się niepowodzeniem w nieprzewidywalny sposób.

LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>)

Rejestruje zdarzenia filtrowane przez dostarczonego delegata filtru niestandardowego. Filtr powinien zwrócić wartość true, aby zarejestrować komunikat lub wartość false, aby odfiltrować go z dziennika.

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

Rejestruje określone zdarzenia przy użyciu podanej akcji. Na przykład użyj polecenia optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) , aby zarejestrować ContextInitialized zdarzenie w konsoli programu .

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

Rejestruje wszystkie zdarzenia w określonych kategoriach przy użyciu podanej akcji. Na przykład użyj polecenia optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) , aby zarejestrować wszystkie zdarzenia w DbLoggerCategory.Infrastructure kategorii.

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

Rejestruje się przy użyciu podanej akcji. Na przykład użyj polecenia optionsBuilder.LogTo(Console.WriteLine) , aby zalogować się do konsoli.

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

Rejestruje zdarzenia do delegata niestandardowego rejestratora odfiltrowanego przez delegata filtru niestandardowego. Filtr powinien zwrócić wartość true, aby zarejestrować komunikat lub wartość false, aby odfiltrować go z dziennika.

ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

Zastępuje wewnętrzną implementację platformy Entity Framework określoną implementacją kontraktu usługi inną implementacją.

ReplaceService<TService,TImplementation>()

Zastępuje wszystkie wewnętrzne implementacje programu Entity Framework kontraktu usługi z inną implementacją.

UseApplicationServiceProvider(IServiceProvider)

Ustawia wartość IServiceProvider , z której będą uzyskiwane usługi aplikacji. Odbywa się to automatycznie w przypadku używania polecenia "AddDbContext" lub "AddDbContextPool", dlatego rzadko jest wywoływana ta metoda.

UseInternalServiceProvider(IServiceProvider)

IServiceProvider Ustawia, z którego kontekst powinien rozpoznawać wszystkie jego usługi. Program EF utworzy dostawcę usług i zarządza nim, jeśli żaden z nich nie zostanie określony.

UseLoggerFactory(ILoggerFactory)

Ustawia element ILoggerFactory , który będzie używany do tworzenia ILogger wystąpień na potrzeby rejestrowania wykonywanego przez ten kontekst.

UseMemoryCache(IMemoryCache)

Ustawia element IMemoryCache , który ma być używany do buforowania zapytań przez ten kontekst.

UseModel(IModel)

Ustawia model, który ma być używany dla kontekstu. Jeśli model jest ustawiony, nie OnModelCreating(ModelBuilder) zostanie uruchomiony.

UseQueryTrackingBehavior(QueryTrackingBehavior)

Ustawia zachowanie śledzenia dla zapytań LINQ uruchamianych względem kontekstu. Wyłączenie śledzenia zmian jest przydatne w scenariuszach tylko do odczytu, ponieważ pozwala uniknąć narzutów związanych z konfigurowaniem śledzenia zmian dla każdego wystąpienia jednostki. Nie należy wyłączać śledzenia zmian, jeśli chcesz manipulować wystąpieniami jednostek i utrwalać te zmiany w bazie danych przy użyciu polecenia SaveChanges().

UseRootApplicationServiceProvider()

Usuwa katalog główny IServiceProvider z dostawcy usług aplikacji o określonym zakresie. Dostawca główny może służyć do uzyskiwania pojedynczych usług aplikacji z pojedynczych usług wewnętrznych.

UseRootApplicationServiceProvider(IServiceProvider)

Ustawia katalog główny IServiceProvider , z którego można uzyskać usługi jednotonowych aplikacji z pojedynczych usług wewnętrznych.

Jawne implementacje interfejsu

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

Dodaje podane rozszerzenie do opcji. Jeśli istniejące rozszerzenie tego samego typu już istnieje, zostanie zastąpione.

Metody rozszerzania

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

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych usługi Azure Cosmos.

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

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych usługi Azure Cosmos.

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

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych usługi Azure Cosmos.

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
Przestarzałe.
Przestarzałe.

Konfiguruje kontekst w celu nawiązania połączenia ze starszą udostępnioną bazą danych w pamięci. Ta metoda jest przestarzała. Zamiast tego użyj polecenia cmdlet UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>).

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

Konfiguruje kontekst w celu nawiązania połączenia z nazwaną bazą danych w pamięci. Baza danych w pamięci jest udostępniana wszędzie tam, gdzie jest używana ta sama nazwa, ale tylko dla danego dostawcy usług.

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

Konfiguruje kontekst w celu nawiązania połączenia z nazwaną bazą danych w pamięci. Baza danych w pamięci jest udostępniana wszędzie tam, gdzie jest używana ta sama nazwa, ale tylko dla danego dostawcy usług. Aby użyć tej samej bazy danych w pamięci między dostawcami usług, wywołaj UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) przekazanie udostępnionej InMemoryDatabaseRoot bazy danych, na której ma być root bazy danych.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Włącza tworzenie serwerów proxy śledzenia zmian.

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Włącza tworzenie leniwych serwerów proxy ładowania.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Włącza tworzenie leniwych serwerów proxy ładowania.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQLite, ale początkowo bez ustawiania żadnego DbConnection lub parametry połączenia.

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQLite.

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

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQLite.

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQLite.

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQL Server firmy Microsoft, ale początkowo nie ustawia żadnej DbConnection lub parametry połączenia.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych microsoft SQL Server.

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

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Konfiguruje kontekst w celu nawiązania połączenia z bazą danych microsoft SQL Server.

Dotyczy