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

迁移历史记录表的默认名称。

属性

Dependencies

此服务的关系提供程序特定的依赖项。

ExistsSql

由数据库提供程序替代,以生成用于测试历史记录表是否存在的 SQL。

GetAppliedMigrationsSql

生成 SQL 以查询已应用的迁移。

MigrationIdColumnName

保存迁移标识符的列的名称。

ProductVersionColumnName

包含 Entity Framework 产品版本的列的名称。

SqlGenerationHelper

用于生成 SQL 的帮助程序类。

TableName

历史记录表名称。

TableSchema

包含历史记录表的架构,或者 null 是否应使用默认架构。

方法

ConfigureTable(EntityTypeBuilder<HistoryRow>)

配置映射到历史记录表的实体类型。

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 块的 SQL 脚本 END

GetInsertScript(HistoryRow)

生成 SQL 脚本以将行插入历史记录表。

InterpretExistsResult(Object)

解释执行 ExistsSql的结果。

适用于