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

AppendOnly 0

Obiekty, które nie istnieją w kontekście obiektu, są dołączone 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 obiektu i stanu właściwości obiektu w wpisie nie zmieniają się. AppendOnly jest domyślną opcją scalania.

NoTracking 3

Obiekty są utrzymywane w Detached stanie i nie są śledzone w . ObjectStateManager Jednak Entity Framework generowane przez program i jednostki POCO z obiektami proxy utrzymują odwołanie do kontekstu obiektu, aby ułatwić ładowanie powiązanych obiektów.

OverwriteChanges 1

Obiekty, które nie istnieją w kontekście obiektu, są dołączone do kontekstu. Jeśli obiekt znajduje się 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łączone do kontekstu.

Uwagi

Jednostka Entity Framework tylko jedno wystąpienie obiektu z określonym kluczem jednostki w pamięci podręcznej. Obiekty EntityKey są niezmienne obiekty, które reprezentują tożsamość obiektu. Klucze jednostek są używane do rozpoznawania tożsamości w kontekście obiektu. Aby uzyskać więcej informacji, zobacz Praca z kluczami jednostek. 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 , bieżące i oryginalne wartości we wpisie są EntityState.Unchanged zastępowane wartościami źródła danych. Stan jednostki pozostaje bez EntityState.Unchanged żadnych właściwości oznaczonych jako zmodyfikowane.

Jeśli stan jednostki to , bieżące wartości zmodyfikowanych właściwości nie są EntityState.Modified 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 .NET Framework 4 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ść jest oznaczona jako zmodyfikowana.

W .NET Framework 3.5 SP1 Entity Framework nie oznacza właściwości jako zmodyfikowanej, nawet jeśli wartość w źródle danych jest inna.

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

Aby zachować zachowanie .NET Framework 3.5 SP1, ustaw ObjectContextOptions.UseLegacyPreserveChangesBehavior wartość true . Opcja PreserveChanges może służyć do rozwiązywania wyjątków optymistycznej współbieżności przy zachowaniu zmian w kontekście lokalnym. Aby uzyskać więcej informacji, zobacz Zapisywanie zmian i zarządzanie współbieżnością.

Dotyczy