EntityState 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
エンティティ オブジェクトの状態です。
この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。
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 プロパティが、オブジェクトの状態を定義します。
適用対象
こちらもご覧ください
.NET