다음을 통해 공유


RelationalDatabaseCreator 클래스

정의

데이터베이스/스키마 만들기 및 기타 관련 작업을 수행합니다.

이 형식은 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite, Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreatorWithCanConnect, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
    interface IServiceInjectionSite
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
    interface IDatabaseCreatorWithCanConnect
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator, IServiceInjectionSite
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreatorWithCanConnect, IRelationalDatabaseCreator
상속
RelationalDatabaseCreator
구현
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect

설명

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

자세한 내용 과 예제는 데이터베이스 공급자 및 확장 구현 을 참조하세요.

생성자

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor)
사용되지 않음.

RelationalDatabaseCreator 클래스의 새 인스턴스를 초기화합니다.

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory)

RelationalDatabaseCreator 클래스의 새 인스턴스를 초기화합니다.

RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies)

RelationalDatabaseCreator 클래스의 새 인스턴스를 초기화합니다.

속성

Connection

데이터베이스에 대한 연결을 가져옵니다.

Dependencies

이 서비스에 대한 관계형 공급자별 종속성입니다.

ExecutionStrategyFactory

사용할 을 IExecutionStrategyFactory 가져옵니다.

MigrationCommandExecutor

사용할 을 IMigrationCommandExecutor 가져옵니다.

Model

이 작성자가 사용 중인 컨텍스트에 대한 모델을 가져옵니다.

메서드

CanConnect()

데이터베이스를 사용할 수 있고 연결할 수 있는지 여부를 결정합니다.

CanConnectAsync(CancellationToken)

데이터베이스를 사용할 수 있고 연결할 수 있는지 여부를 결정합니다.

Create()

물리적 데이터베이스를 만듭니다. 스키마로 채우기를 시도하지 않습니다.

CreateAsync(CancellationToken)

물리적 데이터베이스를 비동기적으로 만듭니다. 스키마로 채우기를 시도하지 않습니다.

CreateTables()

데이터베이스의 현재 모델에 대한 모든 테이블을 만듭니다. 스키마를 증분 방식으로 업데이트하려고 시도하지 않습니다. 데이터베이스에 테이블이 없는 것으로 가정합니다.

CreateTablesAsync(CancellationToken)

데이터베이스의 현재 모델에 대한 모든 테이블을 비동기적으로 만듭니다. 스키마를 증분 방식으로 업데이트하려고 시도하지 않습니다. 데이터베이스에 테이블이 없는 것으로 가정합니다.

Delete()

실제 데이터베이스를 삭제합니다.

DeleteAsync(CancellationToken)

물리적 데이터베이스를 비동기적으로 삭제합니다.

EnsureCreated()

컨텍스트에 대한 데이터베이스가 있는지 확인합니다. 존재하는 경우 아무런 동작이 발생하지 않습니다. 데이터베이스가 없으면 데이터베이스와 모든 스키마가 만들어집니다. 데이터베이스가 있는 경우 이 컨텍스트에 대한 모델과 호환되도록 하기 위해 아무 작업도 수행되지 않습니다.

EnsureCreatedAsync(CancellationToken)

컨텍스트에 대한 데이터베이스가 있는지 비동기적으로 확인합니다. 존재하는 경우 아무런 동작이 발생하지 않습니다. 데이터베이스가 없으면 데이터베이스와 모든 스키마가 만들어집니다. 데이터베이스가 있는 경우 이 컨텍스트에 대한 모델과 호환되도록 하기 위해 아무 작업도 수행되지 않습니다.

EnsureDeleted()

컨텍스트에 대한 데이터베이스가 없는지 확인합니다. 존재하지 않으면 아무 작업도 수행되지 않습니다. 있는 경우 데이터베이스가 삭제됩니다.

경고: 전체 데이터베이스가 삭제되고 이 컨텍스트에 대해 모델에서 사용하는 데이터베이스 개체만 제거하려고 하지 않습니다.

EnsureDeletedAsync(CancellationToken)

컨텍스트에 대한 데이터베이스가 없는지 비동기적으로 확인합니다. 존재하지 않으면 아무 작업도 수행되지 않습니다. 있는 경우 데이터베이스가 삭제됩니다.

경고: 전체 데이터베이스가 삭제되고 이 컨텍스트에 대해 모델에서 사용하는 데이터베이스 개체만 제거하려고 하지 않습니다.

Exists()

실제 데이터베이스가 있는지 여부를 확인합니다. 데이터베이스에 현재 모델에 대한 스키마가 포함되어 있는지 확인하려고 시도하지 않습니다.

ExistsAsync(CancellationToken)

물리적 데이터베이스가 있는지 여부를 비동기적으로 결정합니다. 데이터베이스에 현재 모델에 대한 스키마가 포함되어 있는지 확인하려고 시도하지 않습니다.

GenerateCreateScript()

현재 모델에 대한 모든 테이블을 만드는 스크립트를 생성합니다.

GetCreateTablesCommands()

모델에서 모든 테이블을 만들 명령을 가져옵니다.

GetCreateTablesCommands(MigrationsSqlGenerationOptions)

모델에서 모든 테이블을 만들 명령을 가져옵니다.

HasTables()

데이터베이스에 테이블이 포함되어 있는지 여부를 확인합니다. 테이블이 현재 모델에 속하는지 여부를 확인하려고 시도하지 않습니다.

HasTablesAsync(CancellationToken)

데이터베이스에 테이블이 포함되어 있는지 여부를 비동기적으로 결정합니다. 테이블이 현재 모델에 속하는지 여부를 확인하려고 시도하지 않습니다.

명시적 인터페이스 구현

IServiceInjectionSite.InjectServices(IServiceProvider)

이 API는 Entity Framework Core 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 API는 이후 릴리스에서 변경되거나 제거될 수 있습니다.

적용 대상