Freigeben über


MergeOption Enumeration

Definition

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

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

Felder

Name Wert Beschreibung
AppendOnly 0

Objekte, die im Objektkontext nicht vorhanden sind, werden dem Kontext angefügt. Wenn sich ein Objekt bereits im Kontext befindet, werden die aktuellen und ursprünglichen Werte der Eigenschaften des Objekts im Eintrag nicht mit Datenquellenwerten überschrieben. Der Status des Eintrags und des Status der Eigenschaften des Objekts im Eintrag wird nicht geändert. AppendOnly ist die Standarddruckoption.

OverwriteChanges 1

Objekte, die im Objektkontext nicht vorhanden sind, werden dem Kontext angefügt. Wenn sich ein Objekt bereits im Kontext befindet, werden die aktuellen und ursprünglichen Werte der Eigenschaften des Objekts im Eintrag mit Datenquellenwerten überschrieben. Der Status des Eintrags des Objekts ist auf festgelegt Unchanged, es werden keine Eigenschaften als geändert markiert.

PreserveChanges 2

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

NoTracking 3

Objekte werden in einem Detached Zustand verwaltet und werden nicht nachverfolgt.ObjectStateManager Entitätenframework-generierte Entitäten und POCO-Entitäten mit Proxys behalten jedoch einen Verweis auf den Objektkontext bei, um das Laden verwandter Objekte zu erleichtern.

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 verwendet, um die Identitätsauflösung im Objektkontext auszuführen. Wenn eine Entität mit derselben Identität bereits nachverfolgt wird, werden die Daten, die aus der Datenquelle stammen, und die Daten, die sich bereits im Status-Manager befinden, gemäß der MergeOption Abfrage zusammengeführt.

Weitere Informationen zu MergeOption.PreserveChanges

Wenn der Status der Entität lautet EntityState.Unchanged, werden die aktuellen und ursprünglichen Werte im Eintrag mit Datenquellenwerten überschrieben. Der Status der Entität bleibt erhalten EntityState.Unchanged , und es werden keine Eigenschaften als geändert markiert.

Wenn der Status der Entität lautet EntityState.Modified, werden die aktuellen Werte geänderter Eigenschaften nicht mit Datenquellenwerten überschrieben. Die ursprünglichen Werte nicht geänderter Eigenschaften werden mit den Werten aus 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.

Beim Aufrufen ObjectContext.SaveChangesder Datenquelle werden nur geänderte Eigenschaften beibehalten.

Gilt für: