Поделиться через


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

Имя таблицы журнала THe.

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 для END блока SQL.

GetInsertScript(HistoryRow)

Создает скрипт SQL для вставки строки в таблицу журнала.

InterpretExistsResult(Object)

Интерпретирует результат выполнения ExistsSql.

Применяется к