Freigeben über


DbConfiguration Klasse

Definition

Eine von dieser Klasse abgeleitete Klasse kann in derselben Assembly wie eine von DbContext abgeleitete Klasse platziert werden, um die Entity Framework-Konfiguration für eine Anwendung zu definieren. Die Konfiguration wird festgelegt, indem geschützte Methoden aufgerufen und geschützte Eigenschaften dieser Klasse im Konstruktor Ihres abgeleiteten Typs festgelegt werden. Der zu verwendende Typ kann auch in der Konfigurationsdatei der Anwendung registriert werden. Weitere Informationen zur Entity Framework-Konfiguration finden Sie unter http://go.microsoft.com/fwlink/?LinkId=260883 .

public class DbConfiguration
type DbConfiguration = class
Public Class DbConfiguration
Vererbung
DbConfiguration

Konstruktoren

DbConfiguration()

Jede von DbConfiguration abgeleitete Klasse muss über einen öffentlichen parameterlosen Konstruktor verfügen, und dieser Konstruktor sollte diesen Konstruktor aufrufen.

Eigenschaften

DependencyResolver

Ruft die ab, die IDbDependencyResolver zum Auflösen von Dienstabhängigkeiten im Entity Framework verwendet wird.

Methoden

AddDefaultResolver(IDbDependencyResolver)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um der Verantwortungskette von Resolvern eine IDbDependencyResolver instance hinzuzufügen, die zum Auflösen von Abhängigkeiten verwendet werden, die von Entity Framework benötigt werden. Im Gegensatz zur AddDependencyResolver-Methode platziert diese Methode den Resolver am unteren Rand der Verantwortungskette, sodass er nur zum Auflösen einer Abhängigkeit verwendet wird, die von keinem der anderen Resolver aufgelöst werden konnte.

AddDependencyResolver(IDbDependencyResolver)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um der Verantwortungskette von Resolvern eine IDbDependencyResolver instance hinzuzufügen, die zum Auflösen von Abhängigkeiten verwendet werden, die von Entity Framework benötigt werden.

AddInterceptor(IDbInterceptor)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine IDbInterceptor beim Anwendungsstart zu registrieren. Beachten Sie, dass Interceptors jederzeit mithilfe von hinzugefügt und entfernt DbInterceptionwerden können.

Equals(Object)

Eine von dieser Klasse abgeleitete Klasse kann in derselben Assembly wie eine von DbContext abgeleitete Klasse platziert werden, um die Entity Framework-Konfiguration für eine Anwendung zu definieren. Die Konfiguration wird festgelegt, indem geschützte Methoden aufgerufen und geschützte Eigenschaften dieser Klasse im Konstruktor Ihres abgeleiteten Typs festgelegt werden. Der zu verwendende Typ kann auch in der Konfigurationsdatei der Anwendung registriert werden. Weitere Informationen zur Entity Framework-Konfiguration finden Sie unter http://go.microsoft.com/fwlink/?LinkId=260883 .

GetHashCode()

Eine von dieser Klasse abgeleitete Klasse kann in derselben Assembly wie eine von DbContext abgeleitete Klasse platziert werden, um die Entity Framework-Konfiguration für eine Anwendung zu definieren. Die Konfiguration wird festgelegt, indem geschützte Methoden aufgerufen und geschützte Eigenschaften dieser Klasse im Konstruktor Ihres abgeleiteten Typs festgelegt werden. Der zu verwendende Typ kann auch in der Konfigurationsdatei der Anwendung registriert werden. Weitere Informationen zur Entity Framework-Konfiguration finden Sie unter http://go.microsoft.com/fwlink/?LinkId=260883 .

GetType()

Ruft den Type der aktuellen Instanz ab.

LoadConfiguration(Assembly)

Versucht, die aus der DbConfiguration angegebenen Assembly zu ermitteln und zu laden. Diese Methode soll von Tools verwendet werden, um sicherzustellen, dass die richtige Konfiguration in die App-Domäne geladen wird. Tools sollten diese Methode vor dem Zugriff auf die DependencyResolver Eigenschaft verwenden. Wenn die Tools den DbContext verwendeten Typ kennen, sollte die LoadConfiguration(Type) -Methode verwendet werden, da die Wahrscheinlichkeit größer ist, dass die richtige Konfiguration gefunden wird.

LoadConfiguration(Type)

Versucht, die DbConfiguration dem angegebenen DbContext Typ zugeordnete zu ermitteln und zu laden. Diese Methode soll von Tools verwendet werden, um sicherzustellen, dass die richtige Konfiguration in die App-Domäne geladen wird. Tools sollten diese Methode vor dem Zugriff auf die DependencyResolver Eigenschaft verwenden.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

SetConfiguration(DbConfiguration)

Die Singleton-instance von DbConfiguration für diese App-Domäne. Dies kann beim Anwendungsstart festgelegt werden, bevor Entity Framework-Features verwendet wurden, und sollte anschließend als schreibgeschützt behandelt werden.

SetContextFactory(Type, Func<DbContext>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Factory festzulegen, um das Erstellen von Instanzen eines Kontexts zu ermöglichen DbContextInfo , der keinen öffentlichen, parameterlosen Konstruktor aufweist.

SetContextFactory<TContext>(Func<TContext>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Factory festzulegen, um das Erstellen von Instanzen eines Kontexts zu ermöglichen DbContextInfo , der keinen öffentlichen, parameterlosen Konstruktor aufweist.

SetDatabaseInitializer<TContext>(IDatabaseInitializer<TContext>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um den Datenbankinitialisierer festzulegen, der für den angegebenen Kontexttyp verwendet werden soll. Der Datenbankinitialisierer wird aufgerufen, wenn der angegebene DbContext Typ zum ersten Mal für den Zugriff auf eine Datenbank verwendet wird. Die Standardstrategie für Code First-Kontexte ist eine instance von CreateDatabaseIfNotExists<TContext>.

SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Factory für den Typ von festzulegen, der DatabaseLogFormatter mit Logverwendet werden soll.

SetDefaultConnectionFactory(IDbConnectionFactory)

Legt den fest, der IDbConnectionFactory verwendet wird, um Verbindungen nach Konvention zu erstellen, wenn keine andere Verbindungszeichenfolge oder Verbindung an übergeben wird oder von DbContextermittelt werden kann. Beachten Sie, dass eine Standardverbindungsfactory in der app.config- oder web.config-Datei festgelegt wird, wenn das EntityFramework NuGet-Paket installiert wird. Wie bei allen Konfigurationsdateieinstellungen hat die in der Konfigurationsdatei festgelegte Standardverbindungsfactory Vorrang vor allen Einstellungen, die mit dieser Methode vorgenommen werden. Aus diesem Grund muss die Einstellung aus der Konfigurationsdatei entfernt werden, bevor diese Methode aufgerufen wird. Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um die verwendete Standardverbindungsfactory zu ändern.

SetDefaultHistoryContext(Func<DbConnection,String,HistoryContext>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um einen Func<T1,T2,TResult> Delegaten festzulegen, der zum Erstellen des Standardwerts HistoryContext für ein beliebiges DbMigrationsConfigurationverwendet wird. Diese Standardfactory wird nur verwendet, wenn keine Factory explizit in und DbMigrationsConfiguration festgelegt ist, wenn keine Factory für den Anbieter registriert wurde, der mit der SetHistoryContext(String, Func<DbConnection,String,HistoryContext>) -Methode verwendet wird.

SetDefaultSpatialServices(DbSpatialServices)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um die globale instance festzulegen, der DbSpatialServices verwendet wird, wenn ein räumlicher Anbieter erforderlich ist und kein anbieterspezifischer räumlicher Anbieter gefunden werden kann. Normalerweise wird ein anbieterspezifischer räumlicher Anbieter aus einer Implementierung abgerufen, die DbProviderServices wiederum durch Auflösen eines Diensts zur DbSpatialServices Übergabe des anbieterinvarianten Namens als Schlüssel zurückgegeben wird. Dies kann jedoch nicht für eigenständige Instanzen von DbGeometry und DbGeography funktionieren, da es unmöglich ist, den zu verwendenden räumlichen Anbieter zu kennen. Daher wird beim Erstellen von eigenständigen Instanzen von DbGeometry und DbGeography immer der globale räumliche Anbieter verwendet.

SetDefaultTransactionHandler(Func<TransactionHandler>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine TransactionHandlerzu registrieren.

SetExecutionStrategy(String, Func<IDbExecutionStrategy>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine IDbExecutionStrategy für die Verwendung mit dem Anbieter zu registrieren, der durch den angegebenen invarianten Namen dargestellt wird.

SetExecutionStrategy(String, Func<IDbExecutionStrategy>, String)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine IDbExecutionStrategy für die Verwendung mit dem Anbieter zu registrieren, der durch den angegebenen invarianten Namen dargestellt wird, und für einen angegebenen Servernamen.

SetHistoryContext(String, Func<DbConnection,String,HistoryContext>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um einen Func<T1,T2,TResult> Delegaten festzulegen, der die Erstellung eines für den angegebenen Anbieter angepassten HistoryContext Für jeden DbMigrationsConfiguration ermöglicht, der keine explizite Factory hat.

SetManifestTokenResolver(IManifestTokenResolver)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Implementierung festzulegen, die das Abrufen von IManifestTokenResolver Anbietermanifesttoken aus Verbindungen ermöglicht, ohne die Verbindung notwendigerweise zu öffnen.

SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Factory für Implementierungen festzulegen, die IMetadataAnnotationSerializer es ermöglicht, benutzerdefinierte Anmerkungen, die von MetadataProperty Instanzen dargestellt werden, in und aus dem EDMX-XML zu serialisieren.

SetMigrationSqlGenerator(String, Func<MigrationSqlGenerator>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine MigrationSqlGenerator für die Verwendung mit dem Anbieter zu registrieren, der durch den angegebenen invarianten Namen dargestellt wird.

SetModelCacheKey(Func<DbContext,IDbModelCacheKey>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Func<T,TResult> als Modellcacheschlüsselfactory festzulegen, wodurch der Schlüssel, der zum Zwischenspeichern des Modells hinter einem DbContext verwendet wird, geändert werden kann.

SetModelStore(DbModelStore)

Legt eine Singleton-Modellspeicherimplementierung (persistenter Modellcache) fest.

SetPluralizationService(IPluralizationService)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um den Pluralisierungsdienst festzulegen.

SetProviderFactory(String, DbProviderFactory)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um einen ADO.NET Anbieter zu registrieren.

SetProviderFactoryResolver(IDbProviderFactoryResolver)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine -Implementierung IDbProviderFactoryResolver festzulegen, die das Abrufen von aus DbProviderFactory ermöglicht, DbConnection wenn die Standardimplementierung nicht ausreicht.

SetProviderServices(String, DbProviderServices)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um einen Entity Framework-Anbieter zu registrieren.

SetSpatialServices(DbProviderInfo, DbSpatialServices)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Implementierung von festzulegen, die DbSpatialServices für ein bestimmtes Anbieter- und Anbietermanifesttoken verwendet werden soll.

SetSpatialServices(String, DbSpatialServices)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Implementierung von festzulegen, die DbSpatialServices für einen bestimmten Anbieter mit einem beliebigen Manifesttoken verwendet wird.

SetTableExistenceChecker(String, TableExistenceChecker)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine Datenbanktabellenexistenzprüfung für einen bestimmten Anbieter zu registrieren.

SetTransactionHandler(String, Func<TransactionHandler>)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine TransactionHandler für die Verwendung mit dem Anbieter zu registrieren, der durch den angegebenen invarianten Namen dargestellt wird.

SetTransactionHandler(String, Func<TransactionHandler>, String)

Rufen Sie diese Methode aus dem Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet wird, um eine TransactionHandler für die Verwendung mit dem Anbieter zu registrieren, der durch den angegebenen invarianten Namen dargestellt wird, und für einen angegebenen Servernamen.

ToString()

Eine von dieser Klasse abgeleitete Klasse kann in derselben Assembly wie eine von DbContext abgeleitete Klasse platziert werden, um die Entity Framework-Konfiguration für eine Anwendung zu definieren. Die Konfiguration wird festgelegt, indem geschützte Methoden aufgerufen und geschützte Eigenschaften dieser Klasse im Konstruktor Ihres abgeleiteten Typs festgelegt werden. Der zu verwendende Typ kann auch in der Konfigurationsdatei der Anwendung registriert werden. Weitere Informationen zur Entity Framework-Konfiguration finden Sie unter http://go.microsoft.com/fwlink/?LinkId=260883 .

Ereignisse

Loaded

Tritt während der EF-Initialisierung auf, nachdem die DbConfiguration erstellt wurde, aber kurz bevor sie für die Verwendung gesperrt wird. Verwenden Sie dieses Ereignis, um Dienste zu überprüfen und/oder zu überschreiben, die vor dem Sperren der Konfiguration registriert wurden. Beachten Sie, dass dieses Ereignis sorgfältig verwendet werden sollte, da es möglicherweise verhindern kann, dass Tools dieselbe Konfiguration ermitteln, die zur Laufzeit verwendet wird.

Gilt für: