RelationalDatabaseCreator Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
Entity Framework