EntityEntry Classe

Définition

Fournit l’accès aux informations et opérations de suivi des modifications pour une entité donnée.

Les instances de cette classe sont retournées à partir de méthodes lors de l’utilisation de l' ChangeTracker API, et elles ne sont pas conçues pour être construites directement dans le code de votre application.

[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)
Héritage
EntityEntry
Dérivé
Attributs
Implémente
IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>

Constructeurs

EntityEntry(InternalEntityEntry)

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

Propriétés

Collections

Fournit l’accès aux informations de suivi des modifications et au chargement des informations pour toutes les propriétés de navigation de collection de cette entité.

Context

Obtient le contexte qui effectue le suivi de l’entité.

CurrentValues

Obtient les valeurs de propriété actuelles pour cette entité.

DebugView

Développez cette propriété dans le débogueur pour obtenir une vue explicite de l’entrée.

AVERTISSEMENT : ne comptez pas sur le format des chaînes de débogage. Elles sont conçues pour le débogage uniquement et peuvent changer arbitrairement entre les versions.

Entity

Obtient l’entité faisant l’objet d’un suivi par cette entrée.

InternalEntry

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

IsKeySet

Obtient une valeur indiquant si une valeur a été assignée aux valeurs de clés de cette entité.

Pour les clés avec des propriétés générées par le magasin (par exemple, le mappage aux colonnes d’identité), la valeur de retour est false si l’une des propriétés générées par le magasin a la valeur CLR par défaut.

Pour les clés sans propriétés générées par le magasin, la valeur de retour est toujours true, car toute valeur est considérée comme une valeur de clé valide.

Members

Fournit l’accès aux informations et opérations de suivi des modifications pour toutes les propriétés et les propriétés de navigation de cette entité.

Metadata

Obtient les métadonnées relatives à la forme de l’entité, ses relations avec d’autres entités et la façon dont elle est mappée à la base de données.

Navigations

Fournit l’accès aux informations et opérations de suivi des modifications pour toutes les propriétés de navigation de cette entité.

OriginalValues

Obtient les valeurs de propriété d’origine pour cette entité. Les valeurs d’origine sont les valeurs de propriété telles qu’elles étaient lors de l’extraction de l’entité de la base de données.

Notez que chaque fois que des valeurs de propriétés d’origine réelles ne sont pas disponibles (par exemple, l’entité n’a pas encore été rendue persistante dans la base de données), les valeurs de propriété actuelles de cette entité sont conservées par défaut.

Properties

Fournit l’accès aux informations et opérations de suivi des modifications pour toutes les propriétés de cette entité.

References

Fournit l’accès aux informations de suivi des modifications et au chargement des informations pour toutes les propriétés de navigation de référence (c’est-à-dire non-collection) de cette entité.

State

Obtient ou définit l’État dans lequel cette entité fait l’objet d’un suivi.

Cette méthode définit uniquement l’état de l’entité unique représentée par cette entrée. Elle ne modifie pas l’état des autres entités accessibles à partir de celle-ci.

Lors de la définition de l’État, l’entité se termine toujours dans l’état spécifié. Par exemple, si vous modifiez l’État, Deleted l’entité est marquée pour suppression indépendamment de son état actuel. Cela diffère de l’appel de Remove(TEntity) lorsque l’entité sera déconnectée (au lieu d’être marquée pour suppression) si elle est dans l' Added État.

Méthodes

Collection(String)

Fournit l’accès aux informations de suivi des modifications et de chargement pour une propriété de navigation de collection qui associe cette entité à une collection d’autres entités.

DetectChanges()

Analyse cette instance d’entité pour détecter les modifications apportées aux données de l’instance. DetectChanges() est généralement appelé automatiquement par le contexte pour recevoir des informations à jour sur une entité individuelle avant de retourner des informations de suivi des modifications. En général, vous devez appeler cette méthode uniquement si vous avez désactivé AutoDetectChangesEnabled .

GetDatabaseValues()

Interroge la base de données pour obtenir les copies des valeurs de l'entité suivie telles qu'elles existent actuellement dans la base de données. Si l’entité est introuvable dans la base de données, la valeur null est retournée.

Notez que la modification des valeurs dans le dictionnaire retourné ne met pas à jour les valeurs de la base de données.

GetDatabaseValuesAsync(CancellationToken)

Interroge la base de données pour obtenir les copies des valeurs de l'entité suivie telles qu'elles existent actuellement dans la base de données. Si l’entité est introuvable dans la base de données, la valeur null est retournée.

Notez que la modification des valeurs dans le dictionnaire retourné ne met pas à jour les valeurs de la base de données.

Plusieurs opérations actives sur la même instance de contexte ne sont pas prises en charge. Utilisez « await » pour vous assurer que toutes les opérations asynchrones sont terminées avant d’appeler une autre méthode sur ce contexte.

Member(String)

Fournit l’accès aux informations et opérations de suivi des modifications pour une propriété donnée ou une propriété de navigation de cette entité.

Navigation(String)

Fournit l’accès aux informations et opérations de suivi des modifications pour une propriété de navigation donnée de cette entité.

Property(String)

Fournit l’accès aux informations et opérations de suivi des modifications pour une propriété donnée de cette entité.

Reference(String)

Fournit l’accès aux informations de suivi des modifications et de chargement pour une propriété de navigation de référence (c’est-à-dire non-collection) qui associe cette entité à une autre entité.

Reload()

Recharge l'entité de la base de données en remplaçant toutes les valeurs de propriétés avec les valeurs de la base de données.

L’entité sera dans l' Unchanged État après l’appel de cette méthode, sauf si l’entité n’existe pas dans la base de données, auquel cas l’entité sera Detached . Enfin, l’appel de rechargement sur une Added entité qui n’existe pas dans la base de données est une absence d’opération. Notez, cependant, qu’il est possible que la valeur de clé permanente d’une entité ajoutée n’ait pas encore été créée.

ReloadAsync(CancellationToken)

Recharge l'entité de la base de données en remplaçant toutes les valeurs de propriétés avec les valeurs de la base de données.

L’entité sera dans l' Unchanged État après l’appel de cette méthode, sauf si l’entité n’existe pas dans la base de données, auquel cas l’entité sera Detached . Enfin, l’appel de rechargement sur une Added entité qui n’existe pas dans la base de données est une absence d’opération. Notez, cependant, qu’il est possible que la valeur de clé permanente d’une entité ajoutée n’ait pas encore été créée.

Implémentations d’interfaces explicites

IInfrastructure<InternalEntityEntry>.Instance

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

Méthodes d’extension

GetInfrastructure<T>(IInfrastructure<T>)

Obtient la valeur d’une propriété qui est masquée à l’aide de IInfrastructure<T> .

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code de l’application.

IInfrastructure<T> est utilisé pour masquer les propriétés qui ne sont pas destinées à être utilisées dans le code de l’application, mais qui peuvent être utilisées dans les méthodes d’extension écrites par les fournisseurs de base de données, etc.

S’applique à