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 |
迁移历史记录表的默认名称。 |
属性
Dependencies |
此服务的关系提供程序特定的依赖项。 |
ExistsSql |
由数据库提供程序替代,以生成用于测试历史记录表是否存在的 SQL。 |
GetAppliedMigrationsSql |
生成 SQL 以查询已应用的迁移。 |
MigrationIdColumnName |
保存迁移标识符的列的名称。 |
ProductVersionColumnName |
包含 Entity Framework 产品版本的列的名称。 |
SqlGenerationHelper |
用于生成 SQL 的帮助程序类。 |
TableName |
历史记录表名称。 |
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 块的 SQL 脚本 |
GetInsertScript(HistoryRow) |
生成 SQL 脚本以将行插入历史记录表。 |
InterpretExistsResult(Object) |
解释执行 ExistsSql的结果。 |