共用方式為


HistoryRepository 類別

定義

用來存取 '__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

包含記錄資料表的架構,如果 null 應該使用預設架構,則為 。

方法

ConfigureTable(EntityTypeBuilder<HistoryRow>)

設定對應至歷程記錄資料表的實體類型。

Exists()

檢查記錄資料表是否存在。

ExistsAsync(CancellationToken)

檢查記錄資料表是否存在。

GetAppliedMigrations()

查詢已套用之所有移轉的歷程記錄資料表。

GetAppliedMigrationsAsync(CancellationToken)

查詢已套用之所有移轉的歷程記錄資料表。

GetBeginIfExistsScript(String)

資料庫提供者覆寫以產生 SQL 腳本, BEGIN 只有在具有指定識別碼的移轉已存在於歷程記錄資料表中時,才會產生 SQL 區塊的 SQL 腳本。

GetBeginIfNotExistsScript(String)

資料庫提供者覆寫以產生 SQL 腳本, BEGIN 只有在具有指定識別碼的移轉不存在於歷程記錄資料表中時,才會產生 SQL 區塊的 SQL 腳本。

GetCreateIfNotExistsScript()

由資料庫提供者覆寫,以產生 SQL 腳本,只有在記錄資料表不存在時,才會建立記錄資料表。

GetCreateScript()

產生將建立記錄資料表的 SQL 腳本。

GetDeleteScript(String)

產生 SQL 腳本,以從歷程記錄資料表中刪除資料列。

GetEndIfScript()

由資料庫提供者覆寫,以產生 SQL 腳本至 END SQL 區塊。

GetInsertScript(HistoryRow)

產生 SQL 腳本,將資料列插入記錄資料表中。

InterpretExistsResult(Object)

解譯執行 ExistsSql 的結果。

適用於