Поделиться через


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

Определение

Состояние объекта сущности.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class EntityState
[System.Flags]
public enum EntityState
[System.Flags]
[System.ComponentModel.DataAnnotations.BindableType(IsBindable=false)]
public enum EntityState
[<System.Flags>]
type EntityState = 
[<System.Flags>]
[<System.ComponentModel.DataAnnotations.BindableType(IsBindable=false)>]
type EntityState = 
Public Enum EntityState
Наследование
EntityState
Атрибуты

Поля

Added 4

Объект является новым, он был добавлен в контекст объекта без вызова метода SaveChanges(). После сохранения изменений состояние объекта меняется на Unchanged. У объектов в состоянии Added отсутствуют исходные значения в ObjectStateEntry.

Deleted 8

Объект был удален из контекста объекта. После сохранения изменений состояние объекта меняется на Detached.

Detached 1

Объект существует, но не отслеживается. Сущность находится в этом состоянии сразу после создания и до добавления в контекст объекта. Сущность также находится в этом состоянии после ее удаления из контекста с помощью вызова метода Detach(Object) или в случае ее загрузки с помощью NoTrackingMergeOption. Экземпляр ObjectStateEntry, который связан с объектами в состоянии Detached, отсутствует.

Modified 16

Одно из скалярных свойств объекта было изменено, а метод SaveChanges() не был вызван. В сущностях POCO без посредников, отслеживающих изменения, состояние измененных свойств при вызове метода Modified меняется на DetectChanges(). После сохранения изменений состояние объекта меняется на Unchanged.

Unchanged 2

Объект не был изменен с момента присоединения к контексту или с момента последнего вызова метода SaveChanges().

Комментарии

Контексту объекта необходимы сведения о состоянии объекта для сохранения изменений в источнике данных. Данные ObjectStateEntry сохраняются в объектах EntityState. Методы SaveChanges контекста объекта ObjectContext обрабатывают сущности, присоединенные к контексту, и обновляют источник данных в соответствии со значением EntityState каждого из объектов. Дополнительные сведения см. в статье Создание, добавление, изменение и удаление объектов.

Состояние объектов в пределах контекста объекта управляется ObjectStateManager. Чтобы определить состояние объекта, воспользуйтесь методом ObjectStateManager: TryGetObjectStateEntry, GetObjectStateEntry или GetObjectStateEntries. Свойство State объекта ObjectStateEntry определяет состояние объекта.

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

См. также раздел