Freigeben über


RelationalOptionsExtension Klasse

Definition

Stellt Optionen dar, die von den relationalen Datenbankanbietern verwaltet werden. Diese Optionen werden mit DbContextOptionsBuilderfestgelegt.

public abstract class RelationalOptionsExtension : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsExtension
type RelationalOptionsExtension = class
    interface IDbContextOptionsExtension
Public MustInherit Class RelationalOptionsExtension
Implements IDbContextOptionsExtension
Vererbung
RelationalOptionsExtension
Implementiert

Hinweise

Instanzen dieser Klasse sind so konzipiert, dass sie unveränderlich sind. Um eine Option zu ändern, rufen Sie eine der "Mit ..." auf. -Methoden zum Abrufen eines neuen instance mit geänderter Option.

Weitere Informationen und Beispiele finden Sie unter Implementierung von Datenbankanbietern und -erweiterungen .

Konstruktoren

RelationalOptionsExtension()

Erstellt einen neuen Satz von Optionen, bei dem alles auf Standardwerte festgelegt ist.

RelationalOptionsExtension(RelationalOptionsExtension)

Wird beim Implementieren der -Methode von einem abgeleiteten Clone() Klassenkonstruktor aufgerufen.

Eigenschaften

CommandTimeout

Das Befehlstimeout oder null , wenn keines festgelegt wurde.

Connection

null OderDbConnection, wenn anstelle des vollständigen Verbindungsobjekts ein Verbindungszeichenfolge verwendet wurde.

ConnectionString

Die Verbindungszeichenfolge odernull, wenn anstelle eines Verbindungszeichenfolge ein DbConnection verwendet wurde.

ExecutionStrategyFactory

Eine Factory zum Erstellen der Standardeinstellung IExecutionStrategyoder null , wenn keine konfiguriert wurde.

Info

Informationen/Metadaten zur Erweiterung.

IsConnectionOwned

true , wenn der Connection im Besitz des Kontexts ist und entsprechend veräußert werden sollte.

LogFragment

Erstellt ein Nachrichtenfragment für die Protokollierung, das normalerweise Informationen zu allen nützlichen nicht standardmäßigen Optionen enthält, die konfiguriert wurden.

MaxBatchSize

Die maximale Anzahl von Anweisungen, die in Befehlen enthalten sind, die während SaveChanges() oder an die Datenbank gesendet werden, wenn null keine festgelegt wurde.

MigrationsAssembly

Der Name der Assembly, die Migrationen enthält, oder null wenn keine festgelegt wurde.

MigrationsHistoryTableName

Der Tabellenname, der für die Migrationsverlaufstabelle verwendet werden soll, oder null wenn keiner festgelegt wurde.

MigrationsHistoryTableSchema

Das Schema, das für die Migrationsverlaufstabelle verwendet werden soll, oder null wenn keines festgelegt wurde.

MinBatchSize

Die mindeste Anzahl von Anweisungen, die für einen Befehl mit mehreren Anweisungen erforderlich sind, der während SaveChanges() oder an die Datenbank gesendet wird, wenn null keine festgelegt wurde.

QuerySplittingBehavior

Die QuerySplittingBehavior , die beim Laden verwandter Sammlungen in einer Abfrage verwendet werden soll.

UseRelationalNulls

Gibt an, ob beim Vergleichen von NULL-Werten relationale Datenbanksemantik verwendet werden soll. Standardmäßig verwendet Entity Framework C#-Semantik für NULL-Werte und generiert SQL, um Unterschiede bei der Behandlung von NULL-Werten in der Datenbank auszugleichen.

Methoden

ApplyServices(IServiceCollection)

Fügt die Dienste hinzu, die erforderlich sind, damit die ausgewählten Optionen funktionieren. Dies wird verwendet, wenn keine externe Instanz IServiceProvider vorhanden ist und EF intern einen eigenen Dienstanbieter unterhält. Dadurch können Datenbankanbieter (und andere Erweiterungen) ihre erforderlichen Dienste registrieren, wenn EF einen Dienstanbieter erstellt.

Clone()

Überschreiben Sie diese Methode in einer abgeleiteten Klasse, um sicherzustellen, dass jeder erstellte Klon ebenfalls von dieser Klasse ist.

Extract(IDbContextOptions)

Sucht einen vorhandenen RelationalOptionsExtension registrierten für die angegebenen Optionen oder löst aus, wenn keine registriert wurde. Dies wird in der Regel verwendet, um eine relationale Konfiguration zu finden, wenn bekannt ist, dass ein relationaler Anbieter verwendet wird.

GetServiceProviderHashCode()

Gibt einen Hashcode zurück, der aus allen Optionen erstellt wurde, die dazu führen würden, dass ein neues IServiceProvider benötigt wird. Die meisten Erweiterungen verfügen über keine solchen Optionen und sollten null zurückgeben.

Validate(IDbContextOptions)

Gibt der Erweiterung die Möglichkeit, zu überprüfen, ob alle Optionen in der Erweiterung gültig sind. Die meisten Erweiterungen verfügen nicht über ungültige Kombinationen, sodass dies ein No-Op ist. Wenn Optionen ungültig sind, sollte eine Ausnahme ausgelöst werden.

WithCommandTimeout(Nullable<Int32>)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithConnection(DbConnection, Boolean)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithConnection(DbConnection)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithConnectionString(String)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithDefaultWarningConfiguration(CoreOptionsExtension)

Fügt den Standardwert WarningBehavior für relationale Ereignisse hinzu.

WithExecutionStrategyFactory(Func<ExecutionStrategyDependencies,IExecutionStrategy>)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithMaxBatchSize(Nullable<Int32>)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithMigrationsAssembly(String)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithMigrationsHistoryTableName(String)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithMigrationsHistoryTableSchema(String)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithMinBatchSize(Nullable<Int32>)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithUseQuerySplittingBehavior(QuerySplittingBehavior)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

WithUseRelationalNulls(Boolean)

Erstellt eine neue instance mit allen Optionen, die identisch sind wie für diese instance, aber mit geänderter Option. Es ist ungewöhnlich, diese Methode direkt aufzurufen. Verwenden Sie stattdessen DbContextOptionsBuilder.

Gilt für: