MergeOption Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, jak se objekty načtené do kontextu objektu sloučí s objekty, které jsou již v kontextu objektu.
public enum class MergeOption
public enum MergeOption
type MergeOption =
Public Enum MergeOption
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| AppendOnly | 0 | Objekty, které neexistují v kontextu objektu, jsou připojeny k kontextu. Pokud je objekt již v kontextu, aktuální a původní hodnoty vlastností objektu v položce nejsou přepsány hodnotami zdroje dat. Stav položky objektu a stavu vlastností objektu v položce se nezmění. AppendOnly je výchozí možnost sloučení. |
| OverwriteChanges | 1 | Objekty, které neexistují v kontextu objektu, jsou připojeny k kontextu. Pokud je objekt již v kontextu, aktuální a původní hodnoty vlastností objektu v položce jsou přepsány hodnotami zdroje dat. Stav položky objektu je nastaven na Unchanged, žádné vlastnosti nejsou označeny jako změněné. |
| PreserveChanges | 2 | Objekty, které neexistují v kontextu objektu, jsou připojeny k kontextu. |
| NoTracking | 3 | Objekty jsou udržovány ve Detached stavu a nejsou sledovány v objektu ObjectStateManager. Entity vygenerované entity a entity POCO s proxy servery však udržují odkaz na kontext objektu, aby se usnadnilo načítání souvisejících objektů. |
Poznámky
Entity Framework udržuje pouze jednu instanci objektu s konkrétním klíčem entity v mezipaměti. Objekty EntityKey jsou neměnné objekty, které představují identitu objektu. Klíče entit se používají k řešení identity v kontextu objektu. Pokud už je sledována entita se stejnou identitou, data pocházející ze zdroje dat a data, která už jsou ve správci stavů, se sloučí podle MergeOption dotazu.
Další informace o MergeOption.PreserveChanges
Pokud je EntityState.Unchangedstav entity , aktuální a původní hodnoty v položce se přepíšou hodnotami zdroje dat. Stav entity zůstává EntityState.Unchanged a žádné vlastnosti nejsou označené jako změněné.
Pokud je EntityState.Modifiedstav entity , aktuální hodnoty upravených vlastností nejsou přepsány hodnotami zdroje dat. Původní hodnoty neupravených vlastností se přepíšou hodnotami ze zdroje dat.
V .NET Framework 4 entity Framework porovnává aktuální hodnoty neupravených vlastností s hodnotami vrácenými ze zdroje dat. Pokud hodnoty nejsou stejné, vlastnost je označena jako změněná.
Při volání ObjectContext.SaveChangesse do zdroje dat zachovají pouze změněné vlastnosti.