IHistoryRepository 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個用於存取「__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 腳本,當且僅當該識別碼的遷移已存在於歷史資料表時,才會執行 |
| GetBeginIfNotExistsScript(String) |
產生一個 SQL 腳本,當且僅當該識別碼的遷移尚未存在於歷史資料表時,才會產生 |
| GetCreateIfNotExistsScript() |
產生一個 SQL 腳本,當且僅當該歷史表尚未存在時,才會建立該資料表。 |
| GetCreateScript() |
產生一個 SQL 腳本來建立歷史資料表。 |
| GetDeleteScript(String) |
產生一個 SQL 腳本,從歷史資料表中刪除一列。 |
| GetEndIfScript() |
產生一個 SQL 腳本到 |
| GetInsertScript(HistoryRow) |
產生一個 SQL 腳本,將一列插入歷史資料表。 |