Idioma

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
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class RelationalDatabaseCreator : 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
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
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
Atributos
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

Nome Descrição
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

Nome Descrição
Connection

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

Dependencies

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

ExecutionStrategyFactory

Obtém o IExecutionStrategyFactory que será usado.

MigrationCommandExecutor

Obtém o IMigrationCommandExecutor que será usado.

Model

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

Métodos

Nome Descrição
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 o banco de dados físico de forma assíncrona. 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 exista 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 exista 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 existir, nenhuma ação será tomada. 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 existir, nenhuma ação será tomada. 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 tabelas. Nenhuma tentativa é feita para determinar se as tabelas pertencem ao modelo atual ou não.

Implantações explícitas de interface

Nome Descrição
IServiceInjectionSite.InjectServices(IServiceProvider)

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

Aplica-se a