Condividi tramite


MergeOption Enumerazione

Definizione

Specifica il modo in cui gli oggetti caricati nel contesto dell'oggetto vengono uniti agli oggetti già presenti nel contesto dell'oggetto.

public enum class MergeOption
public enum MergeOption
type MergeOption = 
Public Enum MergeOption
Ereditarietà
MergeOption

Campi

Nome Valore Descrizione
AppendOnly 0

Gli oggetti che non esistono nel contesto dell'oggetto vengono collegati al contesto. Se un oggetto è già nel contesto, i valori correnti e originali delle proprietà dell'oggetto nella voce non vengono sovrascritti con i valori dell'origine dati. Lo stato della voce e dello stato dell'oggetto delle proprietà dell'oggetto nella voce non cambia. AppendOnly è l'opzione di unione predefinita.

OverwriteChanges 1

Gli oggetti che non esistono nel contesto dell'oggetto vengono collegati al contesto. Se un oggetto è già nel contesto, i valori correnti e originali delle proprietà dell'oggetto nella voce vengono sovrascritti con i valori dell'origine dati. Lo stato della voce dell'oggetto è impostato su Unchanged, nessuna proprietà viene contrassegnata come modificata.

PreserveChanges 2

Gli oggetti che non esistono nel contesto dell'oggetto vengono collegati al contesto.

NoTracking 3

Gli oggetti vengono mantenuti in Detached uno stato e non vengono rilevati in ObjectStateManager. Tuttavia, le entità generate da Entity Framework e le entità POCO con proxy mantengono un riferimento al contesto dell'oggetto per facilitare il caricamento di oggetti correlati.

Commenti

Entity Framework gestisce solo una singola istanza di un oggetto con una chiave di entità specifica nella cache. Gli EntityKey oggetti sono oggetti non modificabili che rappresentano l'identità dell'oggetto. Le chiavi di entità vengono usate per eseguire la risoluzione delle identità nel contesto dell'oggetto. Se è già in corso il rilevamento di un'entità con la stessa identità, i dati provenienti dall'origine dati e i dati già presenti nel gestore dello stato vengono uniti in base alla MergeOption query.

Informazioni aggiuntive su MergeOption.PreserveChanges

Se lo stato dell'entità è EntityState.Unchanged, i valori correnti e originali nella voce vengono sovrascritti con i valori dell'origine dati. Lo stato dell'entità rimane EntityState.Unchanged e nessuna proprietà viene contrassegnata come modificata.

Se lo stato dell'entità è EntityState.Modified, i valori correnti delle proprietà modificate non vengono sovrascritti con i valori dell'origine dati. I valori originali delle proprietà non modificate vengono sovrascritti con i valori dell'origine dati.

In .NET Framework 4 Entity Framework confronta i valori correnti delle proprietà non modificate con i valori restituiti dall'origine dati. Se i valori non sono uguali, la proprietà viene contrassegnata come modificata.

Solo le proprietà modificate vengono mantenute nell'origine dati quando si chiama ObjectContext.SaveChanges.

Si applica a