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 執行個體的兩個參考會相等,但是沒有其他 EntityKey 執行個體會相等。

  • 永久索引鍵會根據包含的索引鍵屬性值和 EntitySet 來判斷是否相等。 也就是說,如果實體集相同,而且索引鍵值相等,您可能會有兩個相等的個別 EntityKey 執行個體。

此外,暫存索引鍵沒有任何 EntitySet 或索引鍵值,但是永久索引鍵有。

AcceptChanges在實體的 ObjectStateEntry 上呼叫 方法,而實體會從Added狀態轉換成Unchanged狀態時,Entity Framework 會自動計算實體的新永久索引鍵,並同步處理所有暫存索引鍵參考。

適用於