DbContextOptionsBuilder<TContext> Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia prostą powierzchnię interfejsu API do konfigurowania DbContextOptions<TContext>programu . 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<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContextOptionsBuilder<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
inherit DbContextOptionsBuilder
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
inherit DbContextOptionsBuilder
Public Class DbContextOptionsBuilder(Of TContext)
Inherits DbContextOptionsBuilder
Parametry typu
- TContext
Typ kontekstu do skonfigurowania.
- Dziedziczenie
- Atrybuty
Uwagi
Aby skonfigurować kontekst, możesz DbContextOptionsBuilder zastąpić OnConfiguring(DbContextOptionsBuilder) lub utworzyć DbContextOptions zewnętrznie i przekazać go do konstruktora kontekstu.
Aby uzyskać więcej informacji i przykładów, zobacz Using DbContextOptions (Używanie elementu DbContextOptions ).
Konstruktory
| Nazwisko | Opis |
|---|---|
| DbContextOptionsBuilder<TContext>() |
Inicjuje DbContextOptionsBuilder<TContext> nowe wystąpienie klasy bez ustawionych opcji. |
| DbContextOptionsBuilder<TContext>(DbContextOptions<TContext>) |
Inicjuje DbContextOptionsBuilder<TContext> nowe wystąpienie klasy, aby dodatkowo skonfigurować daną DbContextOptionsklasę . |
Właściwości
| Nazwisko | Opis |
|---|---|
| IsConfigured |
Pobiera wartość wskazującą, czy zostały skonfigurowane jakiekolwiek opcje. (Odziedziczone po DbContextOptionsBuilder) |
| Options |
Pobiera konfigurowane opcje. |
Metody
| Nazwisko | Opis |
|---|---|
| AddInterceptors(IEnumerable<IInterceptor>) |
Dodaje IInterceptor wystąpienia do wystąpień zarejestrowanych w kontekście. |
| AddInterceptors(IEnumerable<IInterceptor>) |
Dodaje IInterceptor wystąpienia do wystąpień zarejestrowanych w kontekście. (Odziedziczone po DbContextOptionsBuilder) |
| AddInterceptors(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. (Odziedziczone po DbContextOptionsBuilder) |
| 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 pomija potencjalnie kosztowne kontrole rejestrowania, ale oznacza, że zmiany rejestrowania środowiska uruchomieniowego (np. zarejestrowanie nowego DiagnosticListener może nie zostać uwzględnione od razu). |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Konfiguruje zachowanie środowiska uruchomieniowego ostrzeżeń generowanych przez program Entity Framework. Można ustawić domyślne zachowanie i zachowania dla każdego typu ostrzeżenia. |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Konfiguruje zachowanie środowiska uruchomieniowego ostrzeżeń generowanych przez program Entity Framework. Można ustawić domyślne zachowanie i zachowania dla każdego typu ostrzeżenia. |
| EnableDetailedErrors(Boolean) |
Włącza szczegółowe błędy podczas obsługi wyjątków wartości danych występujących podczas przetwarzania wyników zapytania 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 testowania, 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 DbContext współbieżnego użycia 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 zwracać 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 |
| 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 |
| LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Rejestruje przy użyciu podanej akcji. Na przykład użyj polecenia |
| LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Rejestruje zdarzenia do delegata niestandardowego rejestratora filtrowanego według delegata filtru niestandardowego. Filtr powinien zwracać 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 z inną implementacją. |
| ReplaceService<TService,TImplementation>() |
Zastępuje wszystkie wewnętrzne implementacje programu Entity Framework kontraktu usługi z inną implementacją. |
| UseApplicationServiceProvider(IServiceProvider) |
Ustawia, IServiceProvider z których będą uzyskiwane usługi aplikacji. Jest to wykonywane automatycznie podczas korzystania z polecenia "AddDbContext", dlatego rzadko jest wywoływana ta metoda. |
| UseAsyncSeeding(Func<DbContext,Boolean,CancellationToken,Task>) |
Konfiguruje metodę inicjatora do uruchomienia po EnsureCreatedAsync(CancellationToken) wywołaniu lub po zastosowaniu asynchronicznych migracji. Zostanie ona wywołana, nawet jeśli nie zostaną wykonane żadne zmiany w magazynie. |
| UseAsyncSeeding(Func<TContext,Boolean,CancellationToken,Task>) |
Konfiguruje metodę inicjatora do uruchomienia po EnsureCreatedAsync(CancellationToken) wywołaniu lub po zastosowaniu asynchronicznych migracji. Zostanie ona wywołana, nawet jeśli nie zostaną wykonane żadne zmiany w magazynie. |
| UseInternalServiceProvider(IServiceProvider) |
Ustawia, z IServiceProvider 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 wartość IMemoryCache , która ma być używana do buforowania zapytań w tym kontekście. |
| UseModel(IModel) |
Ustawia model, który ma być używany dla kontekstu. Jeśli model jest ustawiony, OnModelCreating(ModelBuilder) nie zostanie uruchomiony. |
| UseQueryTrackingBehavior(QueryTrackingBehavior) |
Ustawia zachowanie śledzenia 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 od dostawcy usługi 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ć pojedyncze usługi aplikacji z pojedynczych usług wewnętrznych. |
| UseSeeding(Action<DbContext,Boolean>) |
Konfiguruje metodę inicjowania do uruchomienia po EnsureCreated() wywołaniu lub po zastosowaniu migracji. Zostanie ona wywołana, nawet jeśli nie zostaną wykonane żadne zmiany w magazynie. |
| UseSeeding(Action<TContext,Boolean>) |
Konfiguruje metodę inicjowania do uruchomienia po EnsureCreated() wywołaniu lub po zastosowaniu migracji. Zostanie ona wywołana, nawet jeśli nie zostaną wykonane żadne zmiany w magazynie. |
Jawne implementacje interfejsu
| Nazwisko | Opis |
|---|---|
| IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Dodaje podane rozszerzenie do opcji. Jeśli istniejące rozszerzenie tego samego typu już istnieje, zostanie zastąpione. (Odziedziczone po DbContextOptionsBuilder) |
| IDbContextOptionsBuilderInfrastructure.RemoveExtension<TExtension>() |
Usuwa rozszerzenie danego typu z opcji. Jeśli nie istnieje żadne rozszerzenie danego typu, jest to no-op. (Odziedziczone po DbContextOptionsBuilder) |