Partilhar via


RelationalDatabaseCreator Classe

Definição

Executa a criação de banco de dados/esquema e outras operações relacionadas.

Esse tipo normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

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
Herança
RelationalDatabaseCreator
Implementações
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect

Comentários

O tempo de vida do serviço é Scoped. Isso significa que cada DbContext instância usará sua própria instância desse serviço. A implementação pode depender de outros serviços registrados com qualquer tempo de vida. A implementação não precisa ser thread-safe.

Consulte Implementação de provedores de banco de dados e extensões para obter mais informações e exemplos.

Construtores

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

Inicializa uma nova instância da classe RelationalDatabaseCreator.

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor)
Obsoleto.

Inicializa uma nova instância da classe RelationalDatabaseCreator.

RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies)

Inicializa uma nova instância da classe RelationalDatabaseCreator.

Propriedades

Connection

Obtém a conexão para o banco de dados.

Dependencies

Dependências específicas do provedor relacional para esse serviço.

ExecutionStrategyFactory

Obtém o IExecutionStrategyFactory a ser usado.

MigrationCommandExecutor

Obtém o IMigrationCommandExecutor a ser usado.

Model

Obtém o modelo para o contexto com o qual este criador está sendo usado.

Métodos

CanConnect()

Determina se o banco de dados está disponível ou não e pode ser conectado.

CanConnectAsync(CancellationToken)

Determina se o banco de dados está disponível ou não e pode ser conectado.

Create()

Cria o banco de dados físico. Não tenta preenchê-lo com nenhum esquema.

CreateAsync(CancellationToken)

Cria de forma assíncrona o banco de dados físico. Não tenta preenchê-lo com nenhum esquema.

CreateTables()

Cria todas as tabelas para o modelo atual no banco de dados. Nenhuma tentativa é feita para atualizar incrementalmente o esquema. Supõe-se que nenhuma das tabelas existe no banco de dados.

CreateTablesAsync(CancellationToken)

Cria de forma assíncrona todas as tabelas para o modelo atual no banco de dados. Nenhuma tentativa é feita para atualizar incrementalmente o esquema. Supõe-se que nenhuma das tabelas existe no banco de dados.

Delete()

Exclui o banco de dados físico.

DeleteAsync(CancellationToken)

Exclui de forma assíncrona o banco de dados físico.

EnsureCreated()

Garante que o banco de dados para o contexto exista. Se ele existir, nenhuma ação será realizada. Se ele não existir, o banco de dados e todo o esquema serão criados. Se o banco de dados existir, nenhum esforço será feito para garantir que ele seja compatível com o modelo para esse contexto.

EnsureCreatedAsync(CancellationToken)

Garante de forma assíncrona que o banco de dados para o contexto exista. Se ele existir, nenhuma ação será realizada. Se ele não existir, o banco de dados e todo o esquema serão criados. Se o banco de dados existir, nenhum esforço será feito para garantir que ele seja compatível com o modelo para esse contexto.

EnsureDeleted()

Garante que o banco de dados para o contexto não exista. Se ele não existir, nenhuma ação será tomada. Se ele existir, o banco de dados será excluído.

Aviso: todo o banco de dados é excluído e nenhum esforço é feito para remover apenas os objetos de banco de dados usados pelo modelo para esse contexto.

EnsureDeletedAsync(CancellationToken)

Garante de forma assíncrona que o banco de dados para o contexto não exista. Se ele não existir, nenhuma ação será tomada. Se ele existir, o banco de dados será excluído.

Aviso: todo o banco de dados é excluído e nenhum esforço é feito para remover apenas os objetos de banco de dados usados pelo modelo para esse contexto.

Exists()

Determina se o banco de dados físico existe. Nenhuma tentativa é feita para determinar se o banco de dados contém o esquema do modelo atual.

ExistsAsync(CancellationToken)

Determina de forma assíncrona se o banco de dados físico existe. Nenhuma tentativa é feita para determinar se o banco de dados contém o esquema do modelo atual.

GenerateCreateScript()

Gera um script para criar todas as tabelas para o modelo atual.

GetCreateTablesCommands()

Obtém os comandos que criarão todas as tabelas do modelo.

GetCreateTablesCommands(MigrationsSqlGenerationOptions)

Obtém os comandos que criarão todas as tabelas do modelo.

HasTables()

Determina se o banco de dados contém tabelas. Nenhuma tentativa é feita para determinar se as tabelas pertencem ao modelo atual ou não.

HasTablesAsync(CancellationToken)

Determina de forma assíncrona se o banco de dados contém alguma tabela. Nenhuma tentativa é feita para determinar se as tabelas pertencem ao modelo atual ou não.

Implantações explícitas de interface

IServiceInjectionSite.InjectServices(IServiceProvider)

Essa API dá suporte à infraestrutura do Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

Aplica-se a