MergeOption Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Pola
AppendOnly | 0 | Obiekty, które nie istnieją w kontekście obiektu, są dołączane do kontekstu. Jeśli obiekt znajduje się 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 w wpisie nie zmienia się. AppendOnly to domyślna opcja scalania. |
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. |
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. |
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. 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 EntityState.Unchanged, bieżące i oryginalne wartości we wpisie są zastępowane 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.