RelationalDatabaseCreator Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. |