MergeOption Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u op hoe objecten die in de objectcontext worden geladen, worden samengevoegd met objecten die al in de objectcontext staan.
public enum class MergeOption
public enum MergeOption
type MergeOption =
Public Enum MergeOption
- Overname
Velden
| Name | Waarde | Description |
|---|---|---|
| AppendOnly | 0 | Objecten die niet aanwezig zijn in de objectcontext, worden gekoppeld aan de context. Als een object zich al in de context bevindt, worden de huidige en oorspronkelijke waarden van de eigenschappen van het object in de vermelding niet overschreven met gegevensbronwaarden. De status van de vermelding van het object en de status van eigenschappen van het object in de vermelding worden niet gewijzigd. AppendOnly is de standaardoptie voor samenvoegen. |
| OverwriteChanges | 1 | Objecten die niet aanwezig zijn in de objectcontext, worden gekoppeld aan de context. Als een object zich al in de context bevindt, worden de huidige en oorspronkelijke waarden van de eigenschappen van het object in de vermelding overschreven met gegevensbronwaarden. De status van de vermelding van het object is ingesteld op Unchanged, er worden geen eigenschappen gemarkeerd als gewijzigd. |
| PreserveChanges | 2 | Objecten die niet aanwezig zijn in de objectcontext, worden gekoppeld aan de context. |
| NoTracking | 3 | Objecten worden onderhouden in een Detached status en worden niet bijgehouden in de ObjectStateManager. Door Entity Framework gegenereerde entiteiten en POCO-entiteiten met proxy's behouden echter een verwijzing naar de objectcontext om het laden van gerelateerde objecten te vergemakkelijken. |
Opmerkingen
Entity Framework onderhoudt slechts één exemplaar van een object met een specifieke entiteitssleutel in de cache. De EntityKey objecten zijn onveranderbare objecten die de identiteit van het object vertegenwoordigen. Entiteitssleutels worden gebruikt om identiteitsomzetting uit te voeren in de objectcontext. Zie Werken met entiteitssleutels voor meer informatie. Als er al een entiteit met dezelfde identiteit wordt bijgehouden, worden de gegevens die afkomstig zijn van de gegevensbron en de gegevens die al in de statusmanager aanwezig zijn, samengevoegd volgens de MergeOption query.
Aanvullende informatie over MergeOption.PreserveChanges
Als de status van de entiteit is EntityState.Unchanged, worden de huidige en oorspronkelijke waarden in de vermelding overschreven met gegevensbronwaarden. De status van de entiteit blijft behouden EntityState.Unchanged en er worden geen eigenschappen gemarkeerd als gewijzigd.
Als de status van de entiteit is EntityState.Modified, worden de huidige waarden van gewijzigde eigenschappen niet overschreven met gegevensbronwaarden. De oorspronkelijke waarden van ongewijzigde eigenschappen worden overschreven met de waarden uit de gegevensbron.
In .NET Framework 4 vergelijkt Entity Framework de huidige waarden van ongewijzigde eigenschappen met de waarden die zijn geretourneerd uit de gegevensbron. Als de waarden niet hetzelfde zijn, wordt de eigenschap gemarkeerd als gewijzigd.
Alleen gewijzigde eigenschappen blijven behouden in de gegevensbron wanneer u aanroept ObjectContext.SaveChanges.