MergeOption Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il modo in cui gli oggetti da caricare nel contesto dell'oggetto vengono uniti con gli oggetti già presenti nel contesto dell'oggetto.
public enum class MergeOption
public enum MergeOption
type MergeOption =
Public Enum MergeOption
- Ereditarietà
Campi
AppendOnly | 0 | Gli oggetti che non esistono nel contesto dell'oggetto vengono connessi al contesto. Se un oggetto è già presente nel contesto, i valori corrente e originale delle relative proprietà nella voce non vengono sovrascritti con i valori dell'origine dati. Lo stato della voce dell'oggetto e lo stato delle proprietà dell'oggetto nella voce non cambiano. AppendOnly è l'opzione di unione predefinita. |
NoTracking | 3 | Gli oggetti vengono mantenuti in uno stato Detached e non vengono rilevati nell'oggetto 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. |
OverwriteChanges | 1 | Gli oggetti che non esistono nel contesto dell'oggetto vengono connessi 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 viene impostato su Unchanged e nessuna proprietà viene contrassegnata come modificata. |
PreserveChanges | 2 | Gli oggetti che non esistono nel contesto dell'oggetto vengono connessi al contesto. |
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 dell'entità sono utilizzate per eseguire la risoluzione di identità nel contesto dell'oggetto. Per altre informazioni, vedere Uso delle chiavi di entità. Se un'entità con la stessa identità è già tracciata, i dati provenienti dall'origine dati e i dati già presenti nella gestione stati vengono uniti in base all'oggetto MergeOption della query.
Informazioni aggiuntive su MergeOption.PreserveChanges
Se lo stato dell'entità è EntityState.Unchanged, i valori corrente e originale 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 di proprietà non modificate con i valori restituiti dall'origine dati. Se i valori non sono gli stessi, la proprietà viene contrassegnata come modificata.
Quando si chiama ObjectContext.SaveChanges solo le proprietà modificate vengono rese persistenti nell'origine dati.