HistoryRepository 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
用來存取 '__EFMigrationsHistory' 資料表的存放庫基類,可追蹤 EF Core 移轉的相關中繼資料,例如已套用的移轉。
public abstract class HistoryRepository : Microsoft.EntityFrameworkCore.Migrations.IHistoryRepository
type HistoryRepository = class
interface IHistoryRepository
Public MustInherit Class HistoryRepository
Implements IHistoryRepository
- 繼承
-
HistoryRepository
- 實作
備註
資料庫提供者必須繼承自這個類別,才能實作提供者特定的功能。
服務存留期為 Scoped 。 這表示每個 DbContext 實例都會使用此服務自己的實例。 實作可能相依于任何存留期註冊的其他服務。 實作不需要安全線程。
如需詳細資訊和範例 ,請參閱資料庫移 轉。
建構函式
HistoryRepository(HistoryRepositoryDependencies) |
初始化這個類別的新執行個體。 |
HistoryRepository(IDatabaseCreator, IRawSqlCommandBuilder, IRelationalConnection, IDbContextOptions, IMigrationsModelDiffer, IMigrationsSqlGenerator, IRelationalAnnotationProvider, ISqlGenerationHelper) |
此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
欄位
DefaultTableName |
Migrations 歷程記錄資料表的預設名稱。 |
屬性
Dependencies |
此服務的關聯式提供者特定相依性。 |
ExistsSql |
由資料庫提供者覆寫,以產生 SQL,以測試記錄資料表是否存在。 |
GetAppliedMigrationsSql |
產生 SQL 以查詢已套用的移轉。 |
MigrationIdColumnName |
保存移轉識別碼的資料行名稱。 |
ProductVersionColumnName |
包含 Entity Framework 產品版本的資料行名稱。 |
SqlGenerationHelper |
產生 SQL 的協助程式類別。 |
TableName |
THe 歷程記錄資料表名稱。 |
TableSchema |
包含記錄資料表的架構,如果 |
方法
ConfigureTable(EntityTypeBuilder<HistoryRow>) |
設定對應至歷程記錄資料表的實體類型。 |
Exists() |
檢查記錄資料表是否存在。 |
ExistsAsync(CancellationToken) |
檢查記錄資料表是否存在。 |
GetAppliedMigrations() |
查詢已套用之所有移轉的歷程記錄資料表。 |
GetAppliedMigrationsAsync(CancellationToken) |
查詢已套用之所有移轉的歷程記錄資料表。 |
GetBeginIfExistsScript(String) |
資料庫提供者覆寫以產生 SQL 腳本, |
GetBeginIfNotExistsScript(String) |
資料庫提供者覆寫以產生 SQL 腳本, |
GetCreateIfNotExistsScript() |
由資料庫提供者覆寫,以產生 SQL 腳本,只有在記錄資料表不存在時,才會建立記錄資料表。 |
GetCreateScript() |
產生將建立記錄資料表的 SQL 腳本。 |
GetDeleteScript(String) |
產生 SQL 腳本,以從歷程記錄資料表中刪除資料列。 |
GetEndIfScript() |
由資料庫提供者覆寫,以產生 SQL 腳本至 |
GetInsertScript(HistoryRow) |
產生 SQL 腳本,將資料列插入記錄資料表中。 |
InterpretExistsResult(Object) |
解譯執行 ExistsSql 的結果。 |