MergeOption Перечисление

Определение

Указывает, как объекты загружаются в контекст объекта, объединяются с объектами, уже имеющимися в контексте объекта.

public enum class MergeOption
public enum MergeOption
type MergeOption = 
Public Enum MergeOption
Наследование
MergeOption

Поля

Имя Значение Описание
AppendOnly 0

Объекты, которые не существуют в контексте объекта, присоединяются к контексту. Если объект уже находится в контексте, текущие и исходные значения свойств объекта в записи не перезаписываются со значениями источника данных. Состояние записи объекта и состояния свойств объекта в записи не изменяется. AppendOnly — параметр слияния по умолчанию.

OverwriteChanges 1

Объекты, которые не существуют в контексте объекта, присоединяются к контексту. Если объект уже находится в контексте, текущие и исходные значения свойств объекта в записи перезаписываются со значениями источника данных. Состояние записи объекта имеет Unchangedзначение , свойства не помечены как измененные.

PreserveChanges 2

Объекты, которые не существуют в контексте объекта, присоединяются к контексту.

NoTracking 3

Объекты хранятся в Detached состоянии и не отслеживаются в объекте ObjectStateManager. Однако созданные Entity Framework сущности и сущности POCO с прокси-серверами поддерживают ссылку на контекст объекта, чтобы упростить загрузку связанных объектов.

Комментарии

Entity Framework поддерживает только один экземпляр объекта с определенным ключом сущности в кэше. Объекты EntityKey являются неизменяемыми объектами, представляющими удостоверение объекта. Ключи сущностей используются для разрешения удостоверений в контексте объекта. Если сущность с тем же удостоверением уже отслеживается, данные, поступающие из источника данных, и данные, уже имеющиеся в диспетчере состояний, объединяются в соответствии с запросом MergeOption .

Дополнительные сведения MergeOption.PreserveChanges

Если состояние сущности равно EntityState.Unchanged, текущие и исходные значения в записи перезаписываются со значениями источника данных. Состояние сущности остается EntityState.Unchanged , и свойства не помечены как измененные.

Если состояние сущности равно EntityState.Modified, текущие значения измененных свойств не перезаписываются со значениями источника данных. Исходные значения неизмененных свойств перезаписываются со значениями из источника данных.

В .NET Framework 4 Entity Framework сравнивает текущие значения неизмененных свойств со значениями, возвращаемыми из источника данных. Если значения не совпадают, свойство помечается как измененное.

При вызове ObjectContext.SaveChangesсохраняются только измененные свойства в источнике данных.

Применяется к