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 DbContextOptionsprogramu . 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
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- Dziedziczenie
-
DbContextOptionsBuilder
- Pochodne
- Atrybuty
- Implementuje
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() |
Inicjuje DbContextOptionsBuilder nowe wystąpienie klasy bez ustawionych opcji. |
| DbContextOptionsBuilder(DbContextOptions) |
Inicjuje DbContextOptionsBuilder 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. |
| Options |
Pobiera konfigurowane opcje. |
Metody
| Nazwisko | Opis |
|---|---|
| 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 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. Odbywa się to automatycznie w przypadku używania metody "AddDbContext" lub "AddDbContextPool", 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. |
| 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. |
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. |
| IDbContextOptionsBuilderInfrastructure.RemoveExtension<TExtension>() |
Usuwa rozszerzenie danego typu z opcji. Jeśli nie istnieje żadne rozszerzenie danego typu, jest to no-op. |
Metody rozszerzania
| Nazwisko | Opis |
|---|---|
| ConfigureSqlEngine(DbContextOptionsBuilder, Action<SqlEngineDbContextOptionsBuilder>) |
Konfiguruje kontekst tak, aby łączył się z dowolnym z SQL Server, Azure SQL, Azure Synapse baz danych, ale nie ustawiając początkowo żadnych DbConnection lub parametry połączenia. |
| UseAzureSql(DbContextOptionsBuilder, Action<AzureSqlDbContextOptionsBuilder>) |
Konfiguruje kontekst tak, aby łączył się z bazą danych Azure SQL, ale początkowo nie ustawiał żadnej DbConnection lub parametry połączenia. |
| UseAzureSql(DbContextOptionsBuilder, DbConnection, Action<AzureSqlDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych Azure SQL. |
| UseAzureSql(DbContextOptionsBuilder, DbConnection, Boolean, Action<AzureSqlDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych Azure SQL. |
| UseAzureSql(DbContextOptionsBuilder, String, Action<AzureSqlDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych Azure SQL. |
| UseAzureSynapse(DbContextOptionsBuilder, Action<AzureSynapseDbContextOptionsBuilder>) |
Konfiguruje kontekst tak, aby łączył się z bazą danych Azure Synapse, ale początkowo nie ustawiał żadnej DbConnection lub parametry połączenia. |
| UseAzureSynapse(DbContextOptionsBuilder, DbConnection, Action<AzureSynapseDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych Azure Synapse. |
| UseAzureSynapse(DbContextOptionsBuilder, DbConnection, Boolean, Action<AzureSynapseDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych Azure Synapse. |
| UseAzureSynapse(DbContextOptionsBuilder, String, Action<AzureSynapseDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych Azure Synapse. |
| UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean) |
Włącza tworzenie serwerów proxy śledzenia zmian. |
| UseCosmos(DbContextOptionsBuilder, Action<CosmosDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych usługi Azure Cosmos. Szczegóły połączenia należy określić w osobnym wywołaniu. |
| 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. |
| UseCosmos(DbContextOptionsBuilder, String, TokenCredential, 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. Użyj UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) zamiast tego. |
| 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 w dowolnym miejscu, w jakim 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 do katalogu głównego bazy danych. |
| 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 w dowolnym miejscu, w jakim jest używana ta sama nazwa, ale tylko dla danego dostawcy usług. |
| 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 tak, aby łączył się z bazą danych SQLite, ale początkowo nie ustawiał ż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 tak, aby łączył się z bazą danych SQL Server, ale nie ustawiając początkowo żadnej DbConnection lub parametry połączenia. |
| UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQL Server. |
| UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQL Server. |
| UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>) |
Konfiguruje kontekst w celu nawiązania połączenia z bazą danych SQL Server. |