EntityEntry Klasse

Definition

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und -vorgänge für eine bestimmte Entität.

Instanzen dieser Klasse werden bei Verwendung der API von Methoden zurückgegeben und sind nicht für die direkte ChangeTracker Konstruktion in Ihrem Anwendungscode konzipiert.

[System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
Public Class EntityEntry
Implements IInfrastructure(Of InternalEntityEntry)
Vererbung
EntityEntry
Abgeleitet
Attribute
Implementiert
IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>

Hinweise

Weitere Informationen finden Sie unter Zugreifen auf nachverfolgte entitäten in EF Core.

Konstruktoren

EntityEntry(InternalEntityEntry)

Dies ist eine interne API, die die Entity Framework Core unterstützt und nicht denselben Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne vorherige Ankündigung in einem Release geändert oder entfernt werden. Sie sollten sie nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies zu Anwendungsfehlern führen kann, wenn sie auf ein neues Entity Framework Core werden.

Eigenschaften

Collections

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und Ladeinformationen für alle Auflistungsnavigationseigenschaften dieser Entität.

Context

Ruft den Kontext ab, der die Entität nachverfolgt.

CurrentValues

Ruft die aktuellen Eigenschaftswerte für diese Entität ab.

DebugView

Erweitern Sie diese Eigenschaft im Debugger, um eine lesbare Ansicht des Eintrags zu erhalten.

Warnung: Verlassen Sie sich nicht auf das Format der Debugzeichenfolgen. Sie sind nur für das Debuggen konzipiert und können sich zwischen Releases beliebig ändern.

Entity

Ruft die Entität ab, die von diesem Eintrag nachverfolgt wird.

InternalEntry

Dies ist eine interne API, die die Entity Framework Core unterstützt und nicht denselben Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne vorherige Ankündigung in einem Release geändert oder entfernt werden. Sie sollten sie nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies zu Anwendungsfehlern führen kann, wenn sie auf ein neues Entity Framework Core werden.

IsKeySet

Ruft einen Wert ab, der angibt, ob den Schlüsselwerten dieser Entität ein Wert zugewiesen wurde.

Für Schlüssel mit vom Speicher generierten Eigenschaften (z. B. Zuordnung zu Identitätsspalten) ist der Rückgabewert FALSE, wenn eine der vom Speicher generierten Eigenschaften den CLR-Standardwert aufweist.

Für Schlüssel ohne vom Speicher generierte Eigenschaften ist der Rückgabewert immer TRUE, da jeder Wert als gültiger Schlüsselwert betrachtet wird.

Members

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und -vorgänge für alle Eigenschaften und Navigationseigenschaften dieser Entität.

Metadata

Ruft die Metadaten über die Form der Entität, ihre Beziehungen zu anderen Entitäten und ihre Zuordnung zur Datenbank ab.

Navigations

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und -vorgänge für alle Navigationseigenschaften dieser Entität.

OriginalValues

Ruft die ursprünglichen Eigenschaftswerte für diese Entität ab. Die ursprünglichen Werte sind die Eigenschaftswerte wie beim Abrufen der Entität aus der Datenbank.

Beachten Sie, dass immer dann, wenn echte ursprüngliche Eigenschaftswerte nicht verfügbar sind (z. B. die Entität wurde noch nicht in der Datenbank gespeichert oder in einer Abfrage ohne Nachverfolgung abgerufen), standardmäßig die aktuellen Eigenschaftswerte dieser Entität verwendet werden.

Properties

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und -vorgänge für alle Eigenschaften dieser Entität.

References

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und Ladeinformationen für alle Verweis-Navigationseigenschaften (d. h. Nicht-Sammlungen) dieser Entität.

State

Ruft den Zustand ab, in dem diese Entität nachverfolgt wird, oder legt diesen fest.

Diese Methode legt nur den Zustand der einzelnen Entität fest, die durch diesen Eintrag dargestellt wird. Es ändert nicht den Zustand anderer Entitäten, die von diesem erreichbar sind.

Beim Festlegen des Zustands befindet sich die Entität immer im angegebenen Zustand. Wenn Sie z. B. den Zustand in die Entität ändern, Deleted wird unabhängig vom aktuellen Zustand zum Löschen markiert. Dies unterscheidet sich vom Aufrufen von Remove(TEntity) , bei dem die Entität getrennt (und nicht zum Löschen markiert) wird, wenn sie sich im Zustand Added befindet.

Methoden

Collection(String)

Bietet Zugriff auf Änderungsnachverfolgungs- und Ladeinformationen für eine Auflistungsnavigationseigenschaft, die diese Entität einer Auflistung anderer Entitäten zu ordnet.

DetectChanges()

Überprüft diese Entitätsinstanz, um Änderungen an den Instanzdaten zu erkennen. DetectChanges() wird in der Regel automatisch vom Kontext aufgerufen, um aktuelle Informationen zu einer einzelnen Entität zu erhalten, bevor Informationen zur Änderungsnachverfolgung zurückgeben werden. In der Regel müssen Sie diese Methode nur aufrufen, wenn Sie deaktiviert AutoDetectChangesEnabled haben.

GetDatabaseValues()

Fragt Kopien der gegenwärtig in der Datenbank vorhandenen Werte der nachverfolgten Entität aus der Datenbank ab. Wenn die Entität nicht in der Datenbank gefunden wird, wird null zurückgegeben.

Beachten Sie, dass beim Ändern der Werte im zurückgegebenen Wörterbuch die Werte in der Datenbank nicht aktualisiert werden.

GetDatabaseValuesAsync(CancellationToken)

Fragt Kopien der gegenwärtig in der Datenbank vorhandenen Werte der nachverfolgten Entität aus der Datenbank ab. Wenn die Entität nicht in der Datenbank gefunden wird, wird NULL zurückgegeben.

Beachten Sie, dass beim Ändern der Werte im zurückgegebenen Wörterbuch die Werte in der Datenbank nicht aktualisiert werden.

Mehrere aktive Vorgänge für dieselbe Kontextinstanz werden nicht unterstützt. Verwenden await Sie , um sicherzustellen, dass alle asynchronen Vorgänge abgeschlossen wurden, bevor eine andere Methode in diesem Kontext aufgerufen wird.

Member(String)

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und -vorgänge für eine bestimmte Eigenschaft oder Navigationseigenschaft dieser Entität.

Navigation(String)

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und -vorgänge für eine bestimmte Navigationseigenschaft dieser Entität.

Property(String)

Bietet Zugriff auf Änderungsnachverfolgungsinformationen und -vorgänge für eine bestimmte Eigenschaft dieser Entität.

Reference(String)

Ermöglicht den Zugriff auf Änderungsnachverfolgungs- und Ladeinformationen für eine Verweisnavigationseigenschaft (d. h. Nicht-Sammlung), die diese Entität einer anderen Entität zu ordnet.

Reload()

Lädt die Entität erneut aus der Datenbank und überschreibt alle Eigenschaftswerte mit Werten aus der Datenbank.

Die Entität ist nach dem Aufruf dieser Methode im Zustand, es sei denn, die Entität ist nicht in der Datenbank vorhanden. In diesem Fall ist Unchanged die Entität Detached . Schließlich ist der Aufruf von Reload für eine Entität, die in der Datenbank nicht vorhanden Added ist, kein Problem. Beachten Sie jedoch, dass für eine hinzugefügte Entität möglicherweise noch kein dauerhafter Schlüsselwert erstellt wurde.

ReloadAsync(CancellationToken)

Lädt die Entität erneut aus der Datenbank und überschreibt alle Eigenschaftswerte mit Werten aus der Datenbank.

Die Entität ist nach dem Aufruf dieser Methode im Zustand, es sei denn, die Entität ist nicht in der Datenbank vorhanden. In diesem Fall ist Unchanged die Entität Detached . Schließlich ist der Aufruf von Reload für eine Entität, die in der Datenbank nicht vorhanden Added ist, kein Problem. Beachten Sie jedoch, dass für eine hinzugefügte Entität möglicherweise noch kein dauerhafter Schlüsselwert erstellt wurde.

Explizite Schnittstellenimplementierungen

IInfrastructure<InternalEntityEntry>.Instance

Dies ist eine interne API, die die Entity Framework Core unterstützt und nicht denselben Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne vorherige Ankündigung in einem Release geändert oder entfernt werden. Sie sollten sie nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies zu Anwendungsfehlern führen kann, wenn sie auf ein neues Entity Framework Core werden.

Erweiterungsmethoden

GetInfrastructure<T>(IInfrastructure<T>)

Ruft den Wert aus einer Eigenschaft ab, die mithilfe von ausgeblendet IInfrastructure<T> wird.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird im Allgemeinen nicht im Anwendungscode verwendet.

IInfrastructure<T> wird verwendet, um Eigenschaften auszublenden, die nicht für die Verwendung im Anwendungscode vorgesehen sind, aber in Erweiterungsmethoden verwendet werden können, die von Datenbankanbietern usw. geschrieben wurden.

Gilt für: