MergeOption Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie la façon dont les objets chargés dans le contexte d’objet sont fusionnés avec des objets déjà dans le contexte de l’objet.
public enum class MergeOption
public enum MergeOption
type MergeOption =
Public Enum MergeOption
- Héritage
Champs
| Nom | Valeur | Description |
|---|---|---|
| AppendOnly | 0 | Les objets qui n’existent pas dans le contexte d’objet sont attachés au contexte. Si un objet est déjà dans le contexte, les valeurs actuelles et d’origine des propriétés de l’objet dans l’entrée ne sont pas remplacées par des valeurs de source de données. L’état de l’entrée de l’objet et l’état des propriétés de l’objet dans l’entrée ne changent pas. AppendOnly est l’option de fusion par défaut. |
| OverwriteChanges | 1 | Les objets qui n’existent pas dans le contexte d’objet sont attachés au contexte. Si un objet est déjà dans le contexte, les valeurs actuelles et d’origine des propriétés de l’objet dans l’entrée sont remplacées par des valeurs de source de données. L’état de l’entrée de l’objet est défini Unchangedsur , aucune propriété n’est marquée comme modifiée. |
| PreserveChanges | 2 | Les objets qui n’existent pas dans le contexte d’objet sont attachés au contexte. |
| NoTracking | 3 | Les objets sont conservés dans un Detached état et ne sont pas suivis dans le ObjectStateManager. Toutefois, les entités générées par Entity Framework et les entités POCO avec proxys conservent une référence au contexte d’objet pour faciliter le chargement d’objets connexes. |
Remarques
Entity Framework gère uniquement une seule instance d’un objet avec une clé d’entité spécifique dans le cache. Les EntityKey objets sont des objets immuables qui représentent l’identité de l’objet. Les clés d’entité sont utilisées pour effectuer la résolution d’identité dans le contexte de l’objet. Si une entité avec la même identité est déjà suivie, les données provenant de la source de données et les données déjà présentes dans le gestionnaire d’état sont fusionnées en fonction de la MergeOption requête.
Informations supplémentaires sur MergeOption.PreserveChanges
Si l’état de l’entité est EntityState.Unchanged, les valeurs actuelles et d’origine de l’entrée sont remplacées par des valeurs de source de données. L’état de l’entité reste EntityState.Unchanged et aucune propriété n’est marquée comme modifiée.
Si l’état de l’entité est EntityState.Modified, les valeurs actuelles des propriétés modifiées ne sont pas remplacées par des valeurs de source de données. Les valeurs d’origine des propriétés non modifiées sont remplacées par les valeurs de la source de données.
Dans .NET Framework 4, Entity Framework compare les valeurs actuelles des propriétés non modifiées aux valeurs retournées à partir de la source de données. Si les valeurs ne sont pas identiques, la propriété est marquée comme modifiée.
Seules les propriétés modifiées sont conservées dans la source de données lorsque vous appelez ObjectContext.SaveChanges.