다음을 통해 공유


MergeOption 열거형

정의

개체 컨텍스트에 로드되는 개체를 개체 컨텍스트에 이미 있는 개체와 병합하는 방법을 지정합니다.

public enum class MergeOption
public enum MergeOption
type MergeOption = 
Public Enum MergeOption
상속
MergeOption

필드

Name Description
AppendOnly 0

개체 컨텍스트에 없는 개체는 컨텍스트에 연결됩니다. 개체가 이미 컨텍스트에 있는 경우 항목에 있는 개체 속성의 현재 값과 원래 값은 데이터 원본 값으로 덮어쓰여지지 않습니다. 개체 항목의 상태와 항목에 있는 개체의 속성 상태는 변경되지 않습니다. AppendOnly 는 기본 병합 옵션입니다.

OverwriteChanges 1

개체 컨텍스트에 없는 개체는 컨텍스트에 연결됩니다. 개체가 이미 컨텍스트에 있는 경우 항목에 있는 개체 속성의 현재 및 원래 값은 데이터 원본 값으로 덮어씁니다. 개체 항목의 상태가 수정된 것으로 표시된 속성이 없도록 Unchanged설정됩니다.

PreserveChanges 2

개체 컨텍스트에 없는 개체는 컨텍스트에 연결됩니다.

NoTracking 3

개체는 상태에서 Detached 유지 관리되며 .에서 ObjectStateManager추적되지 않습니다. 그러나 프록시가 있는 Entity Framework 생성 엔터티 및 POCO 엔터티는 관련 개체의 로드를 용이하게 하기 위해 개체 컨텍스트에 대한 참조를 유지 관리합니다.

설명

Entity Framework는 캐시에 특정 엔터티 키가 있는 개체의 단일 인스턴스만 유지 관리합니다. 개체는 EntityKey 개체의 ID를 나타내는 변경할 수 없는 개체입니다. 엔터티 키는 개체 컨텍스트에서 ID 확인을 수행하는 데 사용됩니다. 동일한 ID를 가진 엔터티가 이미 추적 중인 경우 데이터 원본에서 들어오는 데이터와 상태 관리자에 이미 있는 데이터는 쿼리에 따라 MergeOption 병합됩니다.

에 대한 추가 정보 MergeOption.PreserveChanges

엔터티 EntityState.Unchanged의 상태가면 항목의 현재 값과 원래 값을 데이터 원본 값으로 덮어씁니다. 엔터티의 상태가 유지 EntityState.Unchanged 되고 속성이 수정된 것으로 표시되지 않습니다.

엔터티 EntityState.Modified의 상태가면 수정된 속성의 현재 값을 데이터 원본 값으로 덮어쓰지 않습니다. 수정되지 않은 속성의 원래 값은 데이터 원본의 값으로 덮어씁니다.

.NET Framework 4에서 Entity Framework는 수정되지 않은 속성의 현재 값과 데이터 원본에서 반환된 값을 비교합니다. 값이 동일하지 않으면 속성이 수정된 것으로 표시됩니다.

호출 ObjectContext.SaveChanges할 때 수정된 속성만 데이터 원본에 유지됩니다.

적용 대상