共用方式為


DbSet<TEntity>.Attach(TEntity) 方法

定義

根據預設,會使用 Unchanged 狀態開始追蹤可從指定實體觸達的指定實體和專案,但如需使用不同狀態的情況,請參閱下方。

public virtual Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity> Attach (TEntity entity);
abstract member Attach : 'Entity -> Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity (requires 'Entity : null)>
override this.Attach : 'Entity -> Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity (requires 'Entity : null)>
Public Overridable Function Attach (entity As TEntity) As EntityEntry(Of TEntity)

參數

entity
TEntity

要附加的實體。

傳回

EntityEntry實體的 。 專案可讓您存取實體的變更追蹤資訊和作業。

備註

一般而言,在呼叫 之前 SaveChanges() ,不會執行任何資料庫互動。

將會執行導覽屬性的遞迴搜尋,以尋找內容尚未追蹤的可連線實體。 內容會追蹤找到的所有實體。

如果是具有所產生索引鍵的實體類型,如果實體已設定其主鍵值,則會在狀態中 Unchanged 追蹤。 如果未設定主鍵值,則會在 狀態中 Added 追蹤它。 這有助於確保只會插入新的實體。 如果主鍵屬性設定為屬性類型 CLR 預設值以外的任何專案,實體就會將其主鍵值設定為 。

對於沒有產生索引鍵的實體類型,狀態集一律 Unchanged 為 。

使用 State 僅設定單一實體的狀態。

如需詳細資訊和範例,請參閱 EF Core 變更追蹤

適用於