0

MSDN Attaching and detaching object を読んだ後。

オブジェクトは Unchanged 状態でオブジェクト コンテキストに関連付けられます。Attach メソッドを呼び出した場合。Unchanged 状態では、Entity Framework はエンティティ キーの値を final として扱います。

「最終」とはどういう意味ですか?

4

2 に答える 2

1

Key 値はエンティティの一意の識別子であり、一度アタッチされると変更できません。エンティティの他のすべてのプロパティは、アタッチ後に変更できます。

于 2012-07-23T04:12:05.497 に答える
1

「Unchanged」状態のオブジェクトは、データベース内の状態と比較して、コンテキストがエンティティへの変更を認識していないことを意味します。

次のようにすることで、人為的にエラーでこの状態になる可能性があります (たとえば)。

  1. 1 つのコンテキスト インスタンスを使用して、データベースからエンティティをロードします。
  2. その最初のコンテキスト インスタンスから切り離します。
  3. プロパティを変更します。
  4. エンティティを新しいコンテキスト インスタンスに追加します。

新しいコンテキスト インスタンスは、データベース内のデータに関してエンティティへの変更を認識せず、すべてのプロパティ値をオブジェクトの最終状態として扱います。

具体的には、エンティティ キーの値に関しては、キーが現在データベース内にある正しい値を表していることが前提であるため、キーは変更/修正されません。

于 2012-07-23T04:12:24.677 に答える