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
- Наследование
- Атрибуты
Поля
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 определяет состояние объекта.