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
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| Detached | 1 | Объект существует, но не отслеживается. Сущность находится в этом состоянии сразу после создания и перед добавлением в контекст объекта. Сущность также находится в этом состоянии после удаления из контекста путем вызова Detach(Object) метода или загрузки с помощью метода NoTrackingMergeOption. В состоянии нет ObjectStateEntry экземпляра, связанного с объектами Detached . |
| Unchanged | 2 | Объект не был изменен, так как он был присоединен к контексту или с момента последнего SaveChanges() вызова метода. |
| Added | 4 | Объект является новым, был добавлен в контекст объекта, и SaveChanges() метод не был вызван. После сохранения изменений состояние объекта изменится Unchangedна . Объекты в Added состоянии не имеют исходных значений в объекте ObjectStateEntry. |
| Deleted | 8 | Объект был удален из контекста объекта. После сохранения изменений состояние объекта изменится Detachedна . |
| Modified | 16 | Одно из скалярных свойств объекта было изменено, и SaveChanges() метод не был вызван. В сущностях POCO без прокси-серверов отслеживания изменений состояние измененных свойств изменяется Modified при вызове DetectChanges() метода. После сохранения изменений состояние объекта изменится Unchangedна . |
Комментарии
Контекст объекта должен знать состояние объекта, чтобы сохранить изменения обратно в источник данных.
ObjectStateEntry Объекты хранят EntityState сведения.
SaveChanges Методы ObjectContext сущностей процесса, присоединенных к контексту, и обновляют источник данных в зависимости от EntityState каждого объекта. Дополнительные сведения см. в разделе "Создание, добавление, изменение и удаление объектов".
Состояние объектов внутри контекста объекта управляется ObjectStateManagerобъектом. Чтобы узнать состояние объекта, вызовите один из следующих ObjectStateManager методов: TryGetObjectStateEntryили GetObjectStateEntryGetObjectStateEntries. Свойство State объекта ObjectStateEntry определяет состояние объекта.