Share via


HistoryContext 類別

[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]

此類別是供 Code First 移轉用來從資料庫讀取和寫入移轉記錄。 自訂您可以衍生自此類別的移轉記錄資料表的定義,並覆寫 OnModelCreating。 可以使用 SetHistoryContextFactory(String, Func<DbConnection, String, HistoryContext>) 以每個移轉組態為基礎來註冊衍生的執行個體,或使用 SetDefaultHistoryContext(Func<DbConnection, String, HistoryContext>) 以全域方式註冊。

繼承階層

System.Object
  System.Data.Entity.DbContext
    System.Data.Entity.Migrations.History.HistoryContext

命名空間:  System.Data.Entity.Migrations.History
組件:  EntityFramework (在 EntityFramework.dll 中)

語法

'宣告
Public Class HistoryContext _
    Inherits DbContext _
    Implements IDbModelCacheKeyProvider
'用途
Dim instance As HistoryContext
public class HistoryContext : DbContext, 
    IDbModelCacheKeyProvider
public ref class HistoryContext : public DbContext, 
    IDbModelCacheKeyProvider
type HistoryContext =  
    class 
        inherit DbContext 
        interface IDbModelCacheKeyProvider 
    end
public class HistoryContext extends DbContext implements IDbModelCacheKeyProvider

HistoryContext 類型會公開下列成員。

建構函式

  名稱 描述
公用方法 HistoryContext 初始化 HistoryContext 類別的新執行個體。如果您要建立衍生的記錄內容,通常就會公開一個建構函式,接受相同的參數並且將其傳遞給此基底建構函式。

靠上

屬性

  名稱 描述
公用屬性 CacheKey 取得索引鍵,該索引鍵是用來找出先前為此內容建立的模型。這可用來避免每次建立新的內容執行個體時都要處理 OnModelCreating 和計算模型。依預設此屬性會傳回預設結構描述。在大多數情況下,並不需要覆寫此屬性。不過,如果您的 OnModelCreating 實作包含條件式邏輯,而該邏輯會導致為相同資料庫提供者和預設結構描述建立不同的模型,您就應該覆寫此屬性並計算適當的索引鍵。
公用屬性 ChangeTracker 針對處理實體變更追蹤的內容功能提供存取權。 (繼承自 DbContext)。
公用屬性 Configuration 為內容的組態選項提供存取權。 (繼承自 DbContext)。
公用屬性 Database 為此內容建立 Database 執行個體,允許針對基礎資料庫執行建立、刪除或存在檢查。 (繼承自 DbContext)。
受保護的屬性 DefaultSchema 取得移轉之模型的預設結構描述。除非在 OnModelCreating 中設定了不同的結構描述,否則此結構描述會用於移轉記錄資料表。
公用屬性 History 取得或設定 DbSet<TEntity>,其可用來讀寫 HistoryRow 執行個體。

靠上

方法

  名稱 描述
公用方法 Dispose() 呼叫受保護的 Dispose 方法。 (繼承自 DbContext)。
受保護的方法 Dispose(Boolean) 處置內容。如果基礎 ObjectContext 是由此內容所建立,或者當建立此內容時將擁有權傳給此內容,則也會處置它。如果資料庫的連接 (DbConnection 物件) 是由此內容所建立,或者當建立此內容時將擁有權傳給此內容,則也會處置此連接。 (繼承自 DbContext)。
公用方法 Entry(Object) 取得給定實體的 DbEntityEntry 物件,以便提供有關此實體之資訊的存取權以及針對此實體執行動作的能力。 (繼承自 DbContext)。
公用方法 Entry<TEntity>(TEntity) 取得給定實體的 DbEntityEntry<TEntity> 物件,以便提供有關此實體之資訊的存取權以及針對此實體執行動作的能力。 (繼承自 DbContext)。
公用方法 Equals 判斷指定的 DbContext 是否等於目前的 DbContext。 (繼承自 DbContext)。
受保護的方法 Finalize (繼承自 Object)。
公用方法 GetHashCode 傳回此 DBContext 的雜湊函數。 (繼承自 DbContext)。
公用方法 GetType 傳回目前 DbContext 的類型。 (繼承自 DbContext)。
公用方法 GetValidationErrors 驗證追蹤的實體,並傳回包含驗證結果的 DbEntityValidationResult 集合。 (繼承自 DbContext)。
受保護的方法 MemberwiseClone (繼承自 Object)。
受保護的方法 OnModelCreating 套用移轉記錄資料表的預設組態。如果您覆寫此方法,建議您在套用自訂組態之前先呼叫此基本實作。 (覆寫 DbContext.OnModelCreating(DbModelBuilder)。)
公用方法 SaveChanges 將此內容中所做的所有變更儲存到基礎資料庫。 (繼承自 DbContext)。
公用方法 SaveChangesAsync() 將此內容中所做的所有變更非同步儲存到基礎資料庫。 (繼承自 DbContext)。
公用方法 SaveChangesAsync(CancellationToken) 將此內容中所做的所有變更非同步儲存到基礎資料庫。 (繼承自 DbContext)。
公用方法 Set(Type) 傳回非泛型 DbSet 執行個體來存取內容中給定類型的實體和基礎存放區。 (繼承自 DbContext)。
公用方法 Set<TEntity>() 傳回 DbSet<TEntity> 執行個體來存取內容中給定類型的實體和基礎存放區。 (繼承自 DbContext)。
受保護的方法 ShouldValidateEntity 可讓使用者覆寫只驗證 Added 和 Modified 實體之預設行為的擴充點。 (繼承自 DbContext)。
公用方法 ToString 傳回 DbContext 的字串表示法。 (繼承自 DbContext)。
受保護的方法 ValidateEntity 可讓使用者自訂實體驗證或篩選出驗證結果的擴充點。由 GetValidationErrors() 呼叫。 (繼承自 DbContext)。

靠上

欄位

  名稱 描述
公用欄位靜態成員 DefaultTableName 移轉記錄資料表所使用的預設名稱。

靠上

明確介面實作

  名稱 描述
明確介面實作私用屬性 IObjectContextAdapter.ObjectContext 傳回在此內容底層的 Entity Framework ObjectContext。 (繼承自 DbContext)。

靠上

執行緒安全

這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

System.Data.Entity.Migrations.History 命名空間