語言

IHistoryRepository 介面

定義

一個用於存取「__EFMigrationsHistory」表格的儲存庫介面,該表追蹤有關 EF 核心遷移的元資料,例如已應用的遷移。

public interface IHistoryRepository
type IHistoryRepository = interface
Public Interface IHistoryRepository
衍生

備註

資料庫提供者通常透過繼承 的 HistoryRepository來實作此服務。

服役期間為 Scoped。 這表示每個 DbContext 實例都會使用自己的服務實例。 實作方式可能取決於其他註冊於任何生命週期的服務。 實作不需要執行緒安全。

更多資訊與範例請參見 資料庫遷移 。

屬性

名稱 Description
LockReleaseBehavior

在 witch 鎖的條件下,鎖是隱含地解除的。

方法

名稱 Description
AcquireDatabaseLock()

取得資料庫的專屬鎖。

AcquireDatabaseLockAsync(CancellationToken)

非同步取得資料庫的專屬鎖。

Create()

建立歷史表。

CreateAsync(CancellationToken)

建立歷史表。

CreateIfNotExists()

如果歷史表不存在,它會建立它。

CreateIfNotExistsAsync(CancellationToken)

建立歷史表。

Exists()

檢查歷史表是否存在。

ExistsAsync(CancellationToken)

檢查歷史表是否存在。

GetAppliedMigrations()

查詢所有已套用遷移的歷史表。

GetAppliedMigrationsAsync(CancellationToken)

查詢所有已套用遷移的歷史表。

GetBeginIfExistsScript(String)

產生一個 SQL 腳本,當且僅當該識別碼的遷移已存在於歷史資料表時,才會執行 BEGIN SQL 區塊。

GetBeginIfNotExistsScript(String)

產生一個 SQL 腳本,當且僅當該識別碼的遷移尚未存在於歷史資料表時,才會產生 BEGIN 一個 SQL 區塊。

GetCreateIfNotExistsScript()

產生一個 SQL 腳本,當且僅當該歷史表尚未存在時,才會建立該資料表。

GetCreateScript()

產生一個 SQL 腳本來建立歷史資料表。

GetDeleteScript(String)

產生一個 SQL 腳本,從歷史資料表中刪除一列。

GetEndIfScript()

產生一個 SQL 腳本到 END SQL 區塊。

GetInsertScript(HistoryRow)

產生一個 SQL 腳本,將一列插入歷史資料表。

適用於