Teilen über


MergeOption Enumeration

Definition

Gibt an, wie Objekte, die in den Objektkontext geladen werden, mit bereits im Objektkontext vorhandenen Objekten zusammengeführt werden.

public enum class MergeOption
public enum MergeOption
type MergeOption = 
Public Enum MergeOption
Vererbung
MergeOption

Felder

AppendOnly 0

Objekte, die nicht im Objektkontext vorhanden sind, werden an den Kontext angefügt. Wenn sich ein Objekt bereits im Kontext befindet, werden die aktuellen und ursprünglichen Werte der Objekteigenschaften im Eintrag nicht mit Datenquellenwerten überschrieben. Der Zustand des Objekteintrags und der Objekteigenschaften des Eintrags werden nicht geändert. AppendOnly ist die Standardzusammenführungsoption.

NoTracking 3

Objekte werden im Detached-Zustand beibehalten und nicht im ObjectStateManager nachverfolgt. Von Entity Framework generierte Entitäten und POCO-Entitäten mit Proxys behalten jedoch einen Verweis auf den Objektkontext bei, um das Laden verwandter Objekte zu erleichtern.

OverwriteChanges 1

Objekte, die nicht im Objektkontext vorhanden sind, werden an den Kontext angefügt. Wenn sich ein Objekt bereits im Kontext befindet, werden die aktuellen und ursprünglichen Werte der Objekteigenschaften im Eintrag mit Datenquellenwerten überschrieben. Der Zustand des Objekteintrags wird auf Unchanged festgelegt. Dabei werden keine Eigenschaften als geändert markiert.

PreserveChanges 2

Objekte, die nicht im Objektkontext vorhanden sind, werden an den Kontext angefügt.

Hinweise

Entity Framework verwaltet nur eine einzelne Instanz eines Objekts mit einem bestimmten Entitätsschlüssel im Cache. Die EntityKey Objekte sind unveränderliche Objekte, die die Identität des Objekts darstellen. Entitätsschlüssel werden für die Identitätsauflösung im Objektkontext verwendet. Weitere Informationen finden Sie unter Arbeiten mit Entitätsschlüsseln. Wenn eine Entität mit derselben Identität bereits nachverfolgt wird, werden die Daten aus der Datenquelle und die Daten, die sich bereits im Zustands-Manager befinden, gemäß der MergeOption der Abfrage zusammengeführt.

Weitere Informationen zu MergeOption.PreserveChanges

Wenn der Zustand der Entität EntityState.Unchanged ist, werden die aktuellen und ursprünglichen Werte des Eintrags mit Datenquellenwerten überschrieben. Der Zustand der Entität bleibt EntityState.Unchanged, und es werden keine Eigenschaften als geändert markiert.

Wenn der Zustand der Entität EntityState.Modified ist, werden die aktuellen Werte geänderter Eigenschaften nicht mit Datenquellenwerten überschrieben. Die ursprünglichen Werte ungeänderter Eigenschaften werden mit den Werten der Datenquelle überschrieben.

In .NET Framework 4 vergleicht Entity Framework die aktuellen Werte nicht geänderter Eigenschaften mit den Werten, die von der Datenquelle zurückgegeben wurden. Wenn die Werte nicht identisch sind, wird die Eigenschaft als geändert markiert.

Nur geänderte Eigenschaften werden beim Aufrufen von ObjectContext.SaveChanges in der Datenquelle beibehalten.

Gilt für: