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 情報を格納します。 SaveChangesObjectContext メソッドは、コンテキストにアタッチされているエンティティを処理し、各オブジェクトの EntityState に応じてデータ ソースを更新します。 詳細については、「 オブジェクトの作成、追加、変更、および削除」を参照してください

オブジェクト コンテキスト内のオブジェクトの状態は、ObjectStateManager で管理されます。 オブジェクトの状態を確認するには、ObjectStateManager メソッドである、TryGetObjectStateEntryGetObjectStateEntry、または GetObjectStateEntries のいずれかを呼び出します。 StateObjectStateEntry プロパティが、オブジェクトの状態を定義します。

適用対象

こちらもご覧ください