EntityKey.IsTemporary プロパティ

定義

EntityKey が一時的かどうかを示す値を取得します。

public:
 property bool IsTemporary { bool get(); };
public bool IsTemporary { get; }
member this.IsTemporary : bool
Public ReadOnly Property IsTemporary As Boolean

プロパティ値

EntityKey が一時的である場合は true。それ以外の場合は false

注釈

新しいエンティティが作成されると、Entity Framework によって一時キーが定義され、 プロパティが IsTemporarytrue設定されます。 メソッドを SaveChanges 呼び出すと、Entity Framework によって永続的なキーが割り当てられ、 プロパティが IsTemporaryfalse設定されます。

注意

一時キーはフレームワークが自動的に作成するものであり、ユーザーが直接作成することはできません。

一時キーの比較セマンティクスは、永久キーと異なります。

  • 一時キーでは参照等価性が使用されます。 つまり、まったく同じ一時 EntityKey インスタンスへの 2 つの参照は等価ですが、他の EntityKey インスタンスは等価となりません。

  • 永久キーでは、含まれているキー プロパティの値および EntitySet に基づいて、等価性が判断されます。 つまり、2 つの異なる EntityKey インスタンスは、そのエンティティ セットが同じで、かつそのキー値が等しければ、等価となります。

また、一時キーには EntitySet やキー値がありませんが、永久キーにはあります。

エンティティObjectStateEntryAcceptChanges で メソッドが呼び出され、エンティティが状態からAdded状態にUnchanged遷移すると、Entity Framework によってエンティティの新しい永続的キーが自動的に計算され、すべての一時キー参照が同期されます。

適用対象