Share via


RelationalDatabaseCreator Classe

Définition

Effectue la création d’une base de données/schéma et d’autres opérations associées.

Ce type est généralement utilisé par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code de l’application.

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
Héritage
RelationalDatabaseCreator
Implémente
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect

Remarques

La durée de vie du service est Scoped. Cela signifie que chaque DbContext instance utilisera ses propres instance de ce service. L’implémentation peut dépendre d’autres services inscrits avec n’importe quelle durée de vie. L’implémentation n’a pas besoin d’être thread-safe.

Pour plus d’informations et d’exemples, consultez Implémentation des fournisseurs et extensions de base de données .

Constructeurs

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor)
Obsolète.

Initialise une nouvelle instance de la classe RelationalDatabaseCreator.

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

Initialise une nouvelle instance de la classe RelationalDatabaseCreator.

RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies)

Initialise une nouvelle instance de la classe RelationalDatabaseCreator.

Propriétés

Connection

Obtient la connexion pour la base de données.

Dependencies

Dépendances spécifiques au fournisseur relationnel pour ce service.

ExecutionStrategyFactory

Obtient le IExecutionStrategyFactory à utiliser.

MigrationCommandExecutor

Obtient le IMigrationCommandExecutor à utiliser.

Model

Obtient le modèle pour le contexte avec lequel ce créateur est utilisé.

Méthodes

CanConnect()

Détermine si la base de données est disponible et peut être connectée.

CanConnectAsync(CancellationToken)

Détermine si la base de données est disponible et peut être connectée.

Create()

Crée la base de données physique. N’essaie pas de le remplir avec un schéma.

CreateAsync(CancellationToken)

Crée de manière asynchrone la base de données physique. N’essaie pas de le remplir avec un schéma.

CreateTables()

Crée toutes les tables pour le modèle actuel dans la base de données. Aucune tentative de mise à jour incrémentielle du schéma n’est effectuée. Il est supposé qu’aucune des tables n’existe dans la base de données.

CreateTablesAsync(CancellationToken)

Crée de manière asynchrone toutes les tables pour le modèle actuel dans la base de données. Aucune tentative de mise à jour incrémentielle du schéma n’est effectuée. Il est supposé qu’aucune des tables n’existe dans la base de données.

Delete()

Supprime la base de données physique.

DeleteAsync(CancellationToken)

Supprime de façon asynchrone la base de données physique.

EnsureCreated()

Garantit l’existence de la base de données pour le contexte. Si elle existe, aucune action n’est effectuée. S’il n’existe pas, la base de données et tout son schéma sont créés. Si la base de données existe, aucun effort n’est fait pour s’assurer qu’elle est compatible avec le modèle pour ce contexte.

EnsureCreatedAsync(CancellationToken)

Garantit de manière asynchrone que la base de données pour le contexte existe. Si elle existe, aucune action n’est effectuée. S’il n’existe pas, la base de données et tout son schéma sont créés. Si la base de données existe, aucun effort n’est fait pour s’assurer qu’elle est compatible avec le modèle pour ce contexte.

EnsureDeleted()

Garantit que la base de données pour le contexte n’existe pas. S’il n’existe pas, aucune action n’est prise. Si elle existe, la base de données est supprimée.

Avertissement : la base de données entière est supprimée et aucun effort n’est fait pour supprimer uniquement les objets de base de données utilisés par le modèle pour ce contexte.

EnsureDeletedAsync(CancellationToken)

Garantit de manière asynchrone que la base de données pour le contexte n’existe pas. S’il n’existe pas, aucune action n’est prise. Si elle existe, la base de données est supprimée.

Avertissement : la base de données entière est supprimée et aucun effort n’est fait pour supprimer uniquement les objets de base de données utilisés par le modèle pour ce contexte.

Exists()

Détermine si la base de données physique existe. Aucune tentative n’est effectuée pour déterminer si la base de données contient le schéma du modèle actuel.

ExistsAsync(CancellationToken)

Détermine de manière asynchrone si la base de données physique existe. Aucune tentative n’est effectuée pour déterminer si la base de données contient le schéma du modèle actuel.

GenerateCreateScript()

Génère un script pour créer toutes les tables pour le modèle actuel.

GetCreateTablesCommands()

Obtient les commandes qui créent toutes les tables à partir du modèle.

GetCreateTablesCommands(MigrationsSqlGenerationOptions)

Obtient les commandes qui créent toutes les tables à partir du modèle.

HasTables()

Détermine si la base de données contient des tables. Aucune tentative n’est effectuée pour déterminer si les tables appartiennent au modèle actuel ou non.

HasTablesAsync(CancellationToken)

Détermine de manière asynchrone si la base de données contient des tables. Aucune tentative n’est effectuée pour déterminer si les tables appartiennent au modèle actuel ou non.

Implémentations d’interfaces explicites

IServiceInjectionSite.InjectServices(IServiceProvider)

Cette API prend en charge l’infrastructure Entity Framework Core et n’est pas destinée à être utilisée directement à partir de votre code. Cette API pourra être changée ou supprimée dans les versions ultérieures.

S’applique à