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
AppendOnly | 0 | Objekty, které neexistují v kontextu objektu, jsou připojeny ke 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 stav vlastností objektu v položce se nemění. AppendOnly je výchozí možnost sloučení. |
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ů. |
OverwriteChanges | 1 | Objekty, které neexistují v kontextu objektu, jsou připojeny ke 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 ke kontextu. |
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 překladu identity v kontextu objektu. Další informace najdete v tématu Práce s klíči entit. Pokud se již sleduje entita se stejnou identitou, data pocházející ze zdroje dat a data, která už jsou ve správci stavu, 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čeny jako změněné.
Pokud je EntityState.Modifiedstav entity , aktuální hodnoty upravených vlastností se nepřepíšou hodnotami zdroje dat. Původní hodnoty neupravených vlastností jsou přepsány hodnotami ze zdroje dat.
V rozhraní .NET Framework 4 porovnává Entity Framework aktuální hodnoty neupravených vlastností s hodnotami vrácenými ze zdroje dat. Pokud hodnoty nejsou stejné, vlastnost se označí jako změněná.
Při volání ObjectContext.SaveChangesse do zdroje dat zachovají pouze upravené vlastnosti.