EntityState 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
實體 (Entity) 物件的狀態。
此列舉支援其成員值的位元組合。
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() 方法。 已呼叫 Modified 方法時,在沒有變更追蹤 Proxy 的 POCO 實體中,已修改之屬性的狀態會變更為 DetectChanges()。 儲存變更之後,物件狀態會變更為 Unchanged。 |
Unchanged | 2 | 自從此物件附加至內容,或者自從上一次呼叫 SaveChanges() 方法以來,此物件就沒有修改過。 |
備註
物件內容必須了解物件狀態,才能將變更儲存回資料來源。
ObjectStateEntry 物件會儲存 EntityState 資訊。
SaveChanges
的 ObjectContext 方法會處理附加至內容的實體,並根據每個物件的 EntityState 來更新資料來源。 如需詳細資訊,請參閱 建立、新增、修改和刪除物件。
物件內容內部的物件狀態是由 ObjectStateManager 所管理的。 若要找出物件狀態,請呼叫下列其中一個 ObjectStateManager 方法:TryGetObjectStateEntry、GetObjectStateEntry 或 GetObjectStateEntries。 State 的 ObjectStateEntry 屬性會定義物件的狀態。