MergeOption Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.