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


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
Атрибуты

Поля

Имя Значение Описание
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 определяет состояние объекта.

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

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