다음을 통해 공유


HistoryRepository 클래스

정의

적용된 마이그레이션과 같은 EF Core 마이그레이션에 대한 메타데이터를 추적하는 '__EFMigrationsHistory' 테이블에 액세스하는 데 사용되는 리포지토리의 기본 클래스입니다.

public abstract class HistoryRepository : Microsoft.EntityFrameworkCore.Migrations.IHistoryRepository
type HistoryRepository = class
    interface IHistoryRepository
Public MustInherit Class HistoryRepository
Implements IHistoryRepository
상속
HistoryRepository
구현

설명

공급자별 기능을 구현하려면 데이터베이스 공급자가 이 클래스에서 상속해야 합니다.

서비스 수명은 입니다 Scoped. 즉, 각 DbContext instance 이 서비스의 자체 instance 사용합니다. 구현은 모든 수명에 등록된 다른 서비스에 따라 달라질 수 있습니다. 구현은 스레드로부터 안전할 필요가 없습니다.

자세한 내용 및 예제는 데이터베이스 마이그레이션 을 참조하세요.

생성자

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)

지정된 식별자를 사용하여 마이그레이션이 기록 테이블에 이미 있는 BEGIN 경우에만 SQL 블록을 생성하는 SQL 스크립트를 생성하기 위해 데이터베이스 공급자에 의해 재정의됩니다.

GetBeginIfNotExistsScript(String)

지정된 식별자를 사용하는 마이그레이션이 BEGIN 기록 테이블에 아직 없는 경우에만 SQL 블록을 생성하는 SQL 스크립트를 생성하기 위해 데이터베이스 공급자에 의해 재정의됩니다.

GetCreateIfNotExistsScript()

기록 테이블이 아직 없는 경우에만 기록 테이블을 만드는 SQL 스크립트를 생성하기 위해 데이터베이스 공급자가 재정의합니다.

GetCreateScript()

기록 테이블을 만들 SQL 스크립트를 생성합니다.

GetDeleteScript(String)

기록 테이블에서 행을 삭제하는 SQL 스크립트를 생성합니다.

GetEndIfScript()

데이터베이스 공급자에 의해 재정의되어 SQL 블록에 대한 SQL 스크립트를 생성합니다 END .

GetInsertScript(HistoryRow)

기록 테이블에 행을 삽입하는 SQL 스크립트를 생성합니다.

InterpretExistsResult(Object)

실행 결과를 해석합니다 ExistsSql.

적용 대상