Freigeben über


System.Data.Entity.Infrastructure-Namespace

[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]

Der System.Data.Entity.Infrastructure-Namespace enthält Klassen, die Kernfunktionen des Entity Framework unterstützen.

Klassen

  Klasse Beschreibung
Öffentliche Klasse CommitFailedException Die Ausnahme, die ausgelöst wird, wenn beim Übernehmen einer DbTransaction ein Fehler auftritt.
Öffentliche Klasse CommitFailureHandler Stellt einen Transaktionshandler dar, der die normale Wiederherstellung nach Verbindungsfehlern beim Transaktionscommit ermöglicht, indem Ablaufverfolgungsinformationen für die Transaktion in der Datenbank gespeichert werden.Dieser Handler muss über SetDefaultTransactionHandler(Func<TransactionHandler>) registriert werden.
Öffentliche Klasse DbChangeTracker Wird von der ChangeTracker-Methode von DbContext zurückgegeben, um Zugriff auf Funktionen des Kontexts zu bieten, die mit der Änderungsnachverfolgung von Entitäten zusammenhängen.
Öffentliche Klasse DbCollectionEntry Stellt eine nicht generische Version der DbCollectionEntry<TEntity, TElement>-Klasse dar.
Öffentliche Klasse DbCollectionEntry<TEntity, TElement> Instanzen dieser Klasse werden von der Collection-Methode von DbEntityEntry<TEntity> zurückgegeben und ermöglichen das Ausführen von Vorgängen, z. B. das Laden, für die Auflistungsnavigationseigenschaften der Entität.
Öffentliche Klasse DbCompiledModel Eine unveränderliche Darstellung eines Entity Data Model (EDM), die zum Erstellen eines ObjectContext verwendet oder an den Konstruktor eines DbContext übergeben werden kann.Für eine höhere Leistung sollten Instanzen dieses Typs zwischengespeichert und zum Erstellen von Kontexten wiederverwendet werden.
Öffentliche Klasse DbComplexPropertyEntry Eine nicht generische Version der DbComplexPropertyEntry<TEntity, TComplexProperty>-Klasse.
Öffentliche Klasse DbComplexPropertyEntry<TEntity, TComplexProperty> Instanzen dieser Klasse werden von der ComplexProperty-Methode von DbEntityEntry<TEntity> zurückgegeben und erlauben den Zugriff auf den Zustand einer komplexen Eigenschaft.
Öffentliche Klasse DbConnectionInfo Stellt Informationen zu einer Datenbankverbindung dar.
Öffentliche Klasse DbContextConfiguration Wird von der Configuration-Methode von DbContext zurückgegeben, um Zugriff auf Konfigurationsoptionen für den Kontext zu bieten.
Öffentliche Klasse DbContextInfo Stellt Laufzeitinformationen über einen bestimmten DbContext-Typ bereit.
Öffentliche Klasse DbEntityEntry Eine nicht generische Version der DbEntityEntry<TEntity>-Klasse.
Öffentliche Klasse DbEntityEntry<TEntity> Instanzen dieser Klasse stellen Zugriff auf Informationen zu Entitäten und die Steuerung von Entitäten bereit, die vom DbContext nachverfolgt werden.Verwenden Sie die Entity-Methode oder die Entities-Methode des Kontexts, um Objekte dieses Typs abzurufen.
Öffentliche Klasse DbExecutionStrategy Stellt die Basisimplementierung des Wiederholungsmechanismus für unzuverlässige Vorgänge und Übergangszustände bereit, die exponentiell vergrößerte Verzögerungen zwischen Wiederholungen nutzt.
Öffentliche Klasse DbMemberEntry Dies ist eine abstrakte Basisklasse, mit der eine skalare oder komplexe Eigenschaft oder eine Navigationseigenschaft einer Entität dargestellt wird.Skalare und komplexe Eigenschaften verwenden die abgeleitete Klasse DbPropertyEntry, Verweisnavigationseigenschaften verwenden die abgeleitete Klasse DbReferenceEntry, und Auflistungsnavigationseigenschaften verwenden die abgeleitete Klasse DbCollectionEntry.
Öffentliche Klasse DbMemberEntry<TEntity, TProperty> Dies ist eine abstrakte Basisklasse, mit der eine skalare oder komplexe Eigenschaft oder eine Navigationseigenschaft einer Entität dargestellt wird.Skalare und komplexe Eigenschaften verwenden die abgeleitete Klasse DbPropertyEntry<TEntity, TProperty>, Verweisnavigationseigenschaften verwenden die abgeleitete Klasse DbReferenceEntry<TEntity, TProperty>, und Auflistungsnavigationseigenschaften verwenden die abgeleitete Klasse DbCollectionEntry<TEntity, TElement>.
Öffentliche Klasse DbModel Stellt ein vom DbModelBuilder erstelltes Entity Data Model (EDM) dar.Mit der Compile-Methode kann eine EDM-Darstellung in ein DbCompiledModel konvertiert werden. Dies ist eine kompilierte Momentaufnahme des Modells, mit der Instanzen von DbContext oder ObjectContext zwischengespeichert und erstellt werden können.
Öffentliche Klasse DbPropertyEntry Eine nicht generische Version der DbPropertyEntry<TEntity, TProperty>-Klasse.
Öffentliche Klasse DbPropertyEntry<TEntity, TProperty> Instanzen dieser Klasse werden von der Property-Methode von DbEntityEntry<TEntity> zurückgegeben und lassen Zugriff auf den Zustand der skalaren oder komplexen Eigenschaft zu.
Öffentliche Klasse DbPropertyValues Eine Auflistung aller Eigenschaften für eine zugrunde liegende Entität oder ein zugrunde liegendes komplexes Objekt.
Öffentliche Klasse DbProviderInfo Gruppiert zwei Zeichenfolgen, die einen Anbieter und eine Serverversion kennzeichnen, zu einem einzelnen Objekt.
Öffentliche Klasse DbQuery Stellt eine nicht generische LINQ to Entities-Abfrage für einen DbContext dar.
Öffentliche Klasse DbQuery<TResult> Stellt eine LINQ to Entities-Abfrage für einen DbContext dar.
Öffentliche Klasse DbRawSqlQuery Stellt eine SQL-Abfrage für Nichtentitäten dar, die aus einem DbContext erstellt und mit der Verbindung aus diesem Kontext ausgeführt wird.Instanzen dieser Klasse werden aus der Database-Instanz abgerufen.Die Abfrage wird nicht ausgeführt, wenn dieses Objekt erstellt wird. Sie wird jedes Mal ausgeführt, wenn es aufgelistet wird, z. B. mit foreach.SQL-Abfragen für Entitäten werden mit SqlQuery(String, Object[]) erstellt.Eine generische Version dieser Klasse finden Sie unter DbRawSqlQuery<TElement>.
Öffentliche Klasse DbRawSqlQuery<TElement> Stellt eine SQL-Abfrage für Nichtentitäten dar, die aus einem DbContext erstellt und mit der Verbindung aus diesem Kontext ausgeführt wird.Instanzen dieser Klasse werden aus der Database-Instanz abgerufen.Die Abfrage wird nicht ausgeführt, wenn dieses Objekt erstellt wird. Sie wird jedes Mal ausgeführt, wenn es aufgelistet wird, z. B. mit foreach.SQL-Abfragen für Entitäten werden mit SqlQuery(String, Object[]) erstellt.Eine nicht generische Version dieser Klasse finden Sie unter DbRawSqlQuery.
Öffentliche Klasse DbReferenceEntry Eine nicht generische Version der DbReferenceEntry<TEntity, TProperty>-Klasse.
Öffentliche Klasse DbReferenceEntry<TEntity, TProperty> Instanzen dieser Klasse werden von der Reference-Methode von DbEntityEntry<TEntity> zurückgegeben und ermöglichen das Ausführen von Vorgängen, z. B. das Laden, für die Verweisnavigationseigenschaften der Entität.
Öffentliche Klasse DbSqlQuery Stellt eine SQL-Abfrage für Entitäten dar, die aus einem DbContext erstellt und mit der Verbindung aus diesem Kontext ausgeführt wird.Instanzen dieser Klasse werden aus der DbSet-Instanz für den Entitätstyp abgerufen.Die Abfrage wird nicht ausgeführt, wenn dieses Objekt erstellt wird. Sie wird jedes Mal ausgeführt, wenn es aufgelistet wird, z. B. mit foreach.SQL-Abfragen für Nichtentitäten werden mit SqlQuery(Type, String, Object[]) erstellt.Eine generische Version dieser Klasse finden Sie unter DbSqlQuery<TEntity>.
Öffentliche Klasse DbSqlQuery<TEntity> Stellt eine SQL-Abfrage für Entitäten dar, die aus einem DbContext erstellt und mit der Verbindung aus diesem Kontext ausgeführt wird.Instanzen dieser Klasse werden aus der DbSet<TEntity>-Instanz für den Entitätstyp abgerufen.Die Abfrage wird nicht ausgeführt, wenn dieses Objekt erstellt wird. Sie wird jedes Mal ausgeführt, wenn es aufgelistet wird, z. B. mit foreach.SQL-Abfragen für Nichtentitäten werden mit SqlQuery<TElement>(String, Object[]) erstellt.Eine nicht generische Version dieser Klasse finden Sie unter DbSqlQuery.
Öffentliche Klasse DbUpdateConcurrencyException Von DbContext ausgelöste Ausnahme, wenn zu erwarten war, dass SaveChanges für eine Entität ein Datenbankupdate verursacht, tatsächlich jedoch keine Zeilen in der Datenbank aktualisiert wurden.Dies bedeutet normalerweise, dass die Datenbank gleichzeitig aktualisiert wurde und dass ein Parallelitätstoken, das übereinstimmen sollte, nicht übereingestimmt hat.Beachten Sie bitte, dass Zustandseinträge, auf die von dieser Ausnahme verwiesen wird, aus Sicherheitsgründen nicht serialisiert werden, und Zugriffe auf die Zustandseinträge nach der Serialisierung NULL zurückgeben.
Öffentliche Klasse DbUpdateException Von DbContext ausgelöste Ausnahme, wenn das Speichern der Änderungen in der Datenbank fehlschlägt.Beachten Sie bitte, dass Zustandseinträge, auf die von dieser Ausnahme verwiesen wird, aus Sicherheitsgründen nicht serialisiert werden, und Zugriffe auf die Zustandseinträge nach der Serialisierung NULL zurückgeben.
Öffentliche Klasse DefaultExecutionStrategy Stellt die Standard-IDbExecutionStrategy dar, die Vorgänge nicht wiederholt, wenn Fehler auftreten.
Öffentliche Klasse DefaultManifestTokenResolver Stellt eine Standardimplementierung des IManifestTokenResolver dar, das den zugrunde liegenden Anbieter verwendet, um das Manifesttoken abzurufen.Um mehrfache Abfragen zu vermeiden, verwendet diese Implementierung einen Zwischenspeicherungsmechanismus auf Basis des tatsächlichen Typen der DbConnection-Instanz, der DataSource-Eigenschaft und der Database-Eigenschaft.
Öffentliche Klasse EdmMetadata Veraltet. Stellt eine Entität dar, die zum Speichern von Metadaten zu einem EDM in der Datenbank verwendet wird.
Öffentliche Klasse EdmxWriter Enthält Methoden für den Zugriff auf das Entity Data Model, das mit Code First im EDMX-Format erstellt wurde.Diese Methoden werden in der Regel zum Debuggen verwendet, wenn das mit Code First intern erstellte Modell überprüft werden muss.
Öffentliche Klasse ExecutionStrategyKey Ein Schlüssel zum Auflösen von Func<TResult>.Er besteht aus dem invarianten Anbieternamen ADO.NET und dem Namen des Datenbankservers, der in der Verbindungszeichenfolge angegeben ist.
Öffentliche Klasse IncludeMetadataConvention Veraltet. Diese DbModelBuilder-Konvention bewirkt, dass DbModelBuilder beim Erstellen des Modells Metadaten zum Modell einschließt.Wenn DbContext ein Modell gemäß Konvention erstellt, wird diese Konvention der Liste der vom DbModelBuilder verwendeten Konventionen hinzugefügt.Dies bewirkt, dass Modellmetadaten in die Datenbank geschrieben werden, wenn DbContext zum Erstellen der Datenbank verwendet wird.So kann dann problemlos überprüft werden, ob das Modell geändert wurde, seit es das letzte Mal für die Datenbank verwendet wurde.Diese Konvention kann aus den DbModelBuilder-Konventionen entfernt werden, indem die OnModelCreating-Methode in einer abgeleiteten DbContext-Klasse überschrieben wird.
Öffentliche Klasse LocalDbConnectionFactory Instanzen dieser Klasse werden zum Erstellen von DbConnection-Objekten für SQL Server LocalDb auf Grundlage eines bestimmten Datenbanknamens oder einer bestimmten Verbindungszeichenfolge verwendet.
Öffentliche Klasse ModelContainerConvention Diese DbModelBuilder-Konvention verwendet den Namen der abgeleiteten DbContext-Klasse als Container für das durch Code First erstellte konzeptionelle Modell.
Öffentliche Klasse ModelNamespaceConvention Diese DbModelBuilder-Konvention verwendet den Namespace der abgeleiteten DbContext-Klasse als Namespace des durch Code First erstellten konzeptionellen Modells.
Öffentliche Klasse ObjectReferenceEqualityComparer Vergleicht Objekte mithilfe von Verweisgleichheit.
Öffentliche Klasse ReplacementDbQueryWrapper<TElement> Instanzen dieser Klasse werden intern für die Erstellung konstanter Ausdrücke für ObjectQuery<T> verwendet, die in die Ausdrucksbaumstruktur eingefügt werden, um Verweise auf DbQuery<TResult> und DbQuery zu ersetzen.
Öffentliche Klasse RetryLimitExceededException Die Ausnahme, die ausgelöst wird, wenn die Aktion nach der konfigurierten Anzahl von Wiederholungen erneut fehlgeschlagen ist.
Öffentliche Klasse SqlCeConnectionFactory Instanzen dieser Klasse werden zum Erstellen von DbConnection-Objekten für SQL Server Compact Edition auf Grundlage eines angegebenen Datenbanknamens oder einer angegebenen Verbindungszeichenfolge verwendet.
Öffentliche Klasse SqlConnectionFactory Instanzen dieser Klasse werden zum Erstellen von DbConnection-Objekten für SQL Server auf Grundlage eines angegebenen Datenbanknamens oder einer angegebenen Verbindungszeichenfolge verwendet.Standardmäßig wird die Verbindung mit '.\SQLEXPRESS' hergestellt.Dies kann geändert werden, indem beim Erstellen einer Factoryinstanz die Basisverbindungszeichenfolge geändert wird.
Öffentliche Klasse SuppressDbSetInitializationAttribute Dieses Attribut kann auf eine gesamte abgeleitete DbContext-Klasse oder auf einzelne DbSet<TEntity>-Eigenschaften oder IDbSet<TEntity>-Eigenschaften in dieser Klasse angewendet werden.Bei Anwendung des Attributs werden ggf. ermittelte DbSet<TEntity>-Eigenschaften oder IDbSet<TEntity>-Eigenschaften in das Modell eingeschlossen, jedoch nicht automatisch initialisiert.
Öffentliche Klasse TableExistenceChecker Wird von Entity Framework-Anbietern implementiert und verwendet, um zu überprüfen, ob Tabellen in einer bestimmten Datenbank vorhanden sind.Dies wird von Datenbankinitialisierern verwendet, um zu bestimmen, ob eine vorhandene Datenbank als leer behandelt wird, sodass Tabellen erstellt werden müssen.
Öffentliche Klasse TransactionContext Diese Klasse wird vom CommitFailureHandler verwendet, um die Ablaufverfolgungsinformationen für Transaktionen aus der Datenbank zu lesen bzw. in die Datenbank zu schreiben.Sie können die Definition der Transaktionstabelle ändern, indem Sie von dieser Klasse ableiten und OnModelCreating(DbModelBuilder) überschreiben.Abgeleitete Klassen können mit DbConfiguration registriert werden.
Öffentliche Klasse TransactionHandler Stellt die Basisklasse für Interceptors dar, die Transaktionsvorgänge behandeln.Abgeleitete Klassen können mit SetDefaultTransactionHandler(Func<TransactionHandler>) oder SetTransactionHandler(String, Func<TransactionHandler>, String) registriert werden.
Öffentliche Klasse TransactionRow Stellt eine Transaktion dar.
Öffentliche Klasse UnintentionalCodeFirstException Wird ausgelöst, wenn ein Kontext im Database First- oder Model First-Modus aus den DbContext-Vorlagen generiert und dann im Code First-Modus verwendet wird.

Schnittstellen

  Interface Beschreibung
Öffentliche Schnittstelle IDbAsyncEnumerable Die asynchrone Version der IEnumerable-Schnittstelle, die Elementen ermöglicht, asynchron abgerufen zu werden.Diese Schnittstelle wird für die Interaktion mit Entity Framework-Abfragen verwendet und sollte nicht durch benutzerdefinierte Klassen implementiert werden.
Öffentliche Schnittstelle IDbAsyncEnumerable<T> Asynchrone Version der IEnumerable<T>-Schnittstelle, die Elementen der aufzählbaren Sequenz ermöglicht, asynchron abgerufen zu werden.Diese Schnittstelle wird für die Interaktion mit Entity Framework-Abfragen verwendet und sollte nicht durch benutzerdefinierte Klassen implementiert werden.
Öffentliche Schnittstelle IDbAsyncEnumerator Die asynchrone Version der IEnumerator-Schnittstelle, die Elementen ermöglicht, asynchron abgerufen zu werden.Diese Schnittstelle wird für die Interaktion mit Entity Framework-Abfragen verwendet und sollte nicht durch benutzerdefinierte Klassen implementiert werden.
Öffentliche Schnittstelle IDbAsyncEnumerator<T> Die asynchrone Version der IEnumerator<T>-Schnittstelle, die Elementen ermöglicht, asynchron abgerufen zu werden.Diese Schnittstelle wird für die Interaktion mit Entity Framework-Abfragen verwendet und sollte nicht durch benutzerdefinierte Klassen implementiert werden.
Öffentliche Schnittstelle IDbAsyncQueryProvider Definiert Methoden zum Erstellen und asynchronen Ausführen von Abfragen, die von einem IQueryable-Objekt beschrieben werden.Diese Schnittstelle wird für die Interaktion mit Entity Framework-Abfragen verwendet und sollte nicht durch benutzerdefinierte Klassen implementiert werden.
Öffentliche Schnittstelle IDbConnectionFactory Implementierungen dieser Schnittstelle werden verwendet, um DbConnection-Objekte für einen Typ von Datenbankserver auf Grundlage eines angegebenen Datenbanknamens zu erstellen.Eine Instanz wird in der Database-Klasse festgelegt, damit alle DbContexts-Objekte ohne Verbindungsinformationen oder nur mit einem Datenbanknamen oder einer Verbindungszeichenfolge erstellt werden, um standardmäßig einen bestimmten Typ von Datenbankserver zu verwenden.Es werden zwei Implementierungen dieser Schnittstelle bereitgestellt: SqlConnectionFactory zum Erstellen von Verbindungen mit Microsoft SQL Server, einschließlich EXPRESS Edition.SqlCeConnectionFactory zum Erstellen von Verbindungen mit Microsoft SQL Server Compact Edition.Nach Bedarf können weitere Implementierungen für andere Datenbankserver hinzugefügt werden.Beachten Sie, dass Implementierungen threadsicher oder unveränderlich sein sollten, da möglicherweise mehrere Threads gleichzeitig auf sie zugreifen.
Öffentliche Schnittstelle IDbContextFactory<TContext> Eine Factory zum Erstellen abgeleiteter DbContext-Instanzen.Implementieren Sie diese Schnittstelle, um Entwurfszeitdienste für Kontexttypen zu aktivieren, die über keinen öffentlichen Standardkonstruktor verfügen.Sie haben die Möglichkeit, abgeleitete DbContext-Instanzen zur Entwurfszeit zu erstellen, um bestimmte Entwurfszeiterfahrungen wie Modellrendering und DDL-Generierung zu unterstützen.Implementieren Sie diese Schnittstelle, um die Entwurfszeitinstanziierung für abgeleitete DbContext-Typen zu aktivieren, die über keinen öffentlichen Standardkonstruktor verfügen.Durch Entwurfszeitdienste werden Implementierungen dieser Schnittstelle, die sich in derselben Assembly wie der abgeleitete DbContext-Typ befinden, automatisch ermittelt.
Öffentliche Schnittstelle IDbExecutionStrategy Eine Strategie, die verwendet wird, um einen Befehl oder eine Abfrage für die Datenbank auszuführen – möglicherweise mit einer Logik für wiederholte Versuche, wenn ein Fehler auftritt.
Öffentliche Schnittstelle IDbModelCacheKey Stellt einen Schlüsselwert dar, der ein Entity Framework-Modell eindeutig identifiziert, das in den Speicher geladen wurde.
Öffentliche Schnittstelle IDbModelCacheKeyProvider Implementieren Sie diese Schnittstelle in Ihrem Kontext, um benutzerdefinierte Logik zum Berechnen des Schlüssels für die Suche nach einem bereits erstellen Modell im Cache zu verwenden.Diese Schnittstelle ermöglicht Ihnen, einen einzelnen Kontexttyp mit unterschiedlichen Modellen in derselben AppDomain zu verwenden oder mehrere Kontexttypen für dasselbe Modell zu verwenden.
Öffentliche Schnittstelle IDbProviderFactoryResolver Ein Dienst zum Abrufen der richtigen DbProviderFactory aus einer vorgegebenen DbConnection.
Öffentliche Schnittstelle IManifestTokenResolver Ein Dienst bei vorhandener Verbindung zum Abrufen eines Anbietermanifesttokens.Die DefaultManifestTokenResolver-Klasse wird standardmäßig verwendet und nutzt den zugrunde liegenden Anbieter, um das Token zu abzurufen, wobei häufig die Verbindung geöffnet wird.Es kann stattdessen eine andere Implementierung verwendet werden, indem ein IDbDependencyResolver zu DbConfiguration hinzugefügt wird, der alle Informationen der Verbindung verwenden kann, um das Token zurückzugeben.Beispiel: Wenn die Verbindung bekanntermaßen auf eine SQL Server 2008-Datenbank verweist, kann "2008" zurückgegeben werden, ohne die Verbindung zu öffnen.
Öffentliche Schnittstelle IMetadataAnnotationSerializer Implementieren Sie diese Schnittstelle, um die Serialisierung benutzerdefinierter Anmerkungen in Form von MetadataProperty-Instanzen von und nach EDMX-XML zu gestatten.Eine Serialisiererinstanz wird normalerweise mit der SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>)-Methode festgelegt.
Öffentliche Schnittstelle IObjectContextAdapter Schnittstelle, die von Objekten implementiert wird, die eine ObjectContext-Instanz bereitstellen können.Die DbContext-Klasse implementiert diese Schnittstelle, um Zugriff auf den zugrunde liegenden ObjectContext zu bieten.
Öffentliche Schnittstelle IProviderInvariantName Wird von IDbDependencyResolver und DbConfiguration verwendet, wenn ein invarianter Name des Anbieters aus einer DbProviderFactory aufgelöst wird.

Enumerationen

  Enumeration Beschreibung
Öffentliche Enumeration DbConnectionStringOrigin Beschreibt den Ursprung der Datenbankverbindungszeichenfolge, die DbContext zugeordnet ist.