DbContextOptionsBuilder 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 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 |
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 się przy użyciu podanej akcji. Na przykład użyj polecenia |
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. |