RelationalDatabaseCreator Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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, IExecutionStrategyFactory) |
Initialise une nouvelle instance de la classe RelationalDatabaseCreator. |
RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor) |
Obsolète.
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. |