Udostępnij za pośrednictwem


MergeOption Wyliczenie

Definicja

Określa sposób, w jaki obiekty ładowane do kontekstu obiektu są scalane z obiektami już w kontekście obiektu.

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

Pola

Nazwa Wartość Opis
AppendOnly 0

Obiekty, które nie istnieją w kontekście obiektu, są dołączane do kontekstu. Jeśli obiekt jest już w kontekście, bieżące i oryginalne wartości właściwości obiektu we wpisie nie są zastępowane wartościami źródła danych. Stan wpisu i stanu obiektu obiektu w wpisie nie zmienia się. AppendOnly to domyślna opcja scalania.

OverwriteChanges 1

Obiekty, które nie istnieją w kontekście obiektu, są dołączane do kontekstu. Jeśli obiekt jest już w kontekście, bieżące i oryginalne wartości właściwości obiektu we wpisie są zastępowane wartościami źródła danych. Stan wpisu obiektu jest ustawiony na Unchanged, żadne właściwości nie są oznaczone jako zmodyfikowane.

PreserveChanges 2

Obiekty, które nie istnieją w kontekście obiektu, są dołączane do kontekstu.

NoTracking 3

Obiekty są zachowywane w Detached stanie i nie są śledzone w obiekcie ObjectStateManager. Jednak jednostki generowane przez program Entity Framework i jednostki POCO z serwerami proxy utrzymują odwołanie do kontekstu obiektu w celu ułatwienia ładowania powiązanych obiektów.

Uwagi

Program Entity Framework obsługuje tylko jedno wystąpienie obiektu z określonym kluczem jednostki w pamięci podręcznej. Obiekty EntityKey są niezmiennymi obiektami reprezentującymi tożsamość obiektu. Klucze jednostek są używane do rozpoznawania tożsamości w kontekście obiektu. Jeśli jednostka o tej samej tożsamości jest już śledzona, dane pochodzące ze źródła danych i dane już w menedżerze stanu są scalane zgodnie z MergeOption zapytaniem.

Dodatkowe informacje na temat MergeOption.PreserveChanges

Jeśli stan jednostki to EntityState.Unchanged, bieżące i oryginalne wartości we wpisie zostaną zastąpione wartościami źródła danych. Stan jednostki pozostaje EntityState.Unchanged i żadne właściwości nie są oznaczone jako zmodyfikowane.

Jeśli stan jednostki to EntityState.Modified, bieżące wartości zmodyfikowanych właściwości nie są zastępowane wartościami źródła danych. Oryginalne wartości niezmodyfikowanych właściwości są zastępowane wartościami ze źródła danych.

W programie .NET Framework 4 program Entity Framework porównuje bieżące wartości niezmodyfikowanych właściwości z wartościami zwróconymi ze źródła danych. Jeśli wartości nie są takie same, właściwość zostanie oznaczona jako zmodyfikowana.

Tylko zmodyfikowane właściwości są utrwalane w źródle danych podczas wywoływania metody ObjectContext.SaveChanges.

Dotyczy