RelationalDatabaseCreator Clase

Definición

Realiza la creación de bases de datos o esquemas y otras operaciones relacionadas.

Normalmente, este tipo lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación.

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
Herencia
RelationalDatabaseCreator
Implementaciones
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect

Comentarios

La duración del servicio es Scoped. Esto significa que cada DbContext instancia usará su propia instancia de este servicio. La implementación puede depender de otros servicios registrados con cualquier duración. La implementación no necesita ser segura para subprocesos.

Consulte Implementación de proveedores y extensiones de bases de datos para obtener más información y ejemplos.

Constructores

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

Inicializa una nueva instancia de la clase RelationalDatabaseCreator.

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

Inicializa una nueva instancia de la clase RelationalDatabaseCreator.

RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies)

Inicializa una nueva instancia de la clase RelationalDatabaseCreator.

Propiedades

Connection

Obtiene la conexión de la base de datos.

Dependencies

Dependencias específicas del proveedor relacional para este servicio.

ExecutionStrategyFactory

Obtiene el objeto IExecutionStrategyFactory que se va a usar.

MigrationCommandExecutor

Obtiene el objeto IMigrationCommandExecutor que se va a usar.

Model

Obtiene el modelo para el contexto con el que se usa este creador.

Métodos

CanConnect()

Determina si la base de datos está disponible o no y se puede conectar a ella.

CanConnectAsync(CancellationToken)

Determina si la base de datos está disponible o no y se puede conectar a ella.

Create()

Crea la base de datos física. No intenta rellenarlo con ningún esquema.

CreateAsync(CancellationToken)

Crea de forma asincrónica la base de datos física. No intenta rellenarlo con ningún esquema.

CreateTables()

Crea todas las tablas para el modelo actual de la base de datos. No se intenta actualizar incrementalmente el esquema. Se supone que ninguna de las tablas existe en la base de datos.

CreateTablesAsync(CancellationToken)

Crea de forma asincrónica todas las tablas para el modelo actual de la base de datos. No se intenta actualizar incrementalmente el esquema. Se supone que ninguna de las tablas existe en la base de datos.

Delete()

Elimina la base de datos física.

DeleteAsync(CancellationToken)

Elimina de forma asincrónica la base de datos física.

EnsureCreated()

Garantiza que existe la base de datos para el contexto. Si existe, no se realiza ninguna acción. Si no existe, se crea la base de datos y se crean todos sus esquemas. Si la base de datos existe, no se realiza ningún esfuerzo para asegurarse de que es compatible con el modelo para este contexto.

EnsureCreatedAsync(CancellationToken)

Garantiza de forma asincrónica que existe la base de datos para el contexto. Si existe, no se realiza ninguna acción. Si no existe, se crea la base de datos y se crean todos sus esquemas. Si la base de datos existe, no se realiza ningún esfuerzo para asegurarse de que es compatible con el modelo para este contexto.

EnsureDeleted()

Garantiza que la base de datos del contexto no existe. Si no existe, no se realiza ninguna acción. Si existe, se elimina la base de datos.

Advertencia: se elimina toda la base de datos y no se realiza ningún esfuerzo para quitar solo los objetos de base de datos que usa el modelo para este contexto.

EnsureDeletedAsync(CancellationToken)

Garantiza de forma asincrónica que la base de datos del contexto no existe. Si no existe, no se realiza ninguna acción. Si existe, se elimina la base de datos.

Advertencia: se elimina toda la base de datos y no se realiza ningún esfuerzo para quitar solo los objetos de base de datos que usa el modelo para este contexto.

Exists()

Determina si existe la base de datos física. No se intenta determinar si la base de datos contiene el esquema del modelo actual.

ExistsAsync(CancellationToken)

Determina de forma asincrónica si existe la base de datos física. No se intenta determinar si la base de datos contiene el esquema del modelo actual.

GenerateCreateScript()

Genera un script para crear todas las tablas para el modelo actual.

GetCreateTablesCommands()

Obtiene los comandos que crearán todas las tablas del modelo.

GetCreateTablesCommands(MigrationsSqlGenerationOptions)

Obtiene los comandos que crearán todas las tablas del modelo.

HasTables()

Determina si la base de datos contiene tablas. No se intenta determinar si las tablas pertenecen al modelo actual o no.

HasTablesAsync(CancellationToken)

Determina de forma asincrónica si la base de datos contiene tablas. No se intenta determinar si las tablas pertenecen al modelo actual o no.

Implementaciones de interfaz explícitas

IServiceInjectionSite.InjectServices(IServiceProvider)

Esta API admite la infraestructura de Entity Framework Core y no está pensada para usarse directamente desde el código. Esta API puede cambiar o quitarse en versiones futuras.

Se aplica a