Partager via


Database, classe

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

Une instance de cette classe est obtenue d'un objet DbContext et peut être utilisée pour gérer la base de données réelle qui soutient un DbContext ou une connexion. Cela inclut la création, la suppression et la recherche de l'existence d'une base de données. Notez que la suppression et la recherche de l'existence d'une base de données peuvent être effectuées à l'aide d'une simple connexion (c'est-à-dire sans contexte complet) au moyen des méthodes statiques de la classe.

Hiérarchie d'héritage

System.Object
  System.Data.Entity.Database

Espace de noms :  System.Data.Entity
Assembly :  EntityFramework (dans EntityFramework.dll)

Syntaxe

'Déclaration
<SuppressMessageAttribute("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification := "The DbContextTransaction and EntityTransaction should never be disposed by this class")> _
Public Class Database
'Utilisation
Dim instance As Database
[SuppressMessageAttribute("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "The DbContextTransaction and EntityTransaction should never be disposed by this class")]
public class Database
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = L"The DbContextTransaction and EntityTransaction should never be disposed by this class")]
public ref class Database
[<SuppressMessageAttribute("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "The DbContextTransaction and EntityTransaction should never be disposed by this class")>]
type Database =  class end
public class Database

Le type Database expose les membres suivants.

Propriétés

  Nom Description
Propriété publique CommandTimeout Obtient ou définit la valeur du délai d'attente, en secondes, pour toutes les opérations dans le contexte.La valeur par défaut est Null, ce qui indique que la valeur par défaut du fournisseur sous-jacent sera utilisée.
Propriété publique Connection Retourne la connexion qui est utilisée par ce contexte.Cela peut provoquer la création de la connexion si elle n'existe pas déjà.
Propriété publique CurrentTransaction Obtient la transaction à laquelle la connexion au magasin sous-jacent est inscrite.Ce paramètre peut être null.
Propriété publiqueMembre statique DefaultConnectionFactory Obsolète. Fabrique de connexions à utiliser lors de la création d'un DbConnection à partir d'un simple nom de base de données ou d'une simple chaîne de connexion.
Propriété publique Log Définissez cette propriété afin d'enregistrer le code SQL généré par le DbContext pour le délégué spécifié.Par exemple, pour enregistrer le code dans la console, définissez cette propriété sur Write(String).

Top

Méthodes

  Nom Description
Méthode publique BeginTransaction() Démarre une transaction sur la connexion du magasin sous-jacent
Méthode publique BeginTransaction(IsolationLevel) Commence une transaction sur la connexion du magasin sous-jacent avec le niveau d'isolation spécifié
Méthode publique CompatibleWithModel Vérifie si la base de données est compatible ou non avec le modèle Code First actuel.
Méthode publique Create Crée une base de données sur le serveur de bases de données pour le modèle défini dans le contexte de sauvegarde.Notez que l'appel de cette méthode avant que la stratégie d'initialisation de la base de données ne soit exécutée désactivera l'exécution de cette stratégie.
Méthode publique CreateIfNotExists Crée une base de données sur le serveur de bases de données pour le modèle défini dans le contexte de sauvegarde, mais uniquement si une base de données avec le même nom n'existe pas déjà sur le serveur.
Méthode publique Delete() Supprime la base de données sur le serveur de bases de données si elle existe, sinon, aucune action n'est effectuée.L'appel de cette méthode en dehors d'un initialiseur marque la base de données comme n'ayant pas été initialisée.Cela signifie que si une tentative a lieu pour utiliser la base de données après sa suppression, n'importe initialiseur défini s'exécutera et, en général, tentera de recréer la base de données automatiquement.
Méthode publiqueMembre statique Delete(DbConnection) Supprime la base de données sur le serveur de bases de données si elle existe, sinon, aucune action n'est effectuée.
Méthode publiqueMembre statique Delete(String) Supprime la base de données sur le serveur de bases de données si elle existe, sinon, aucune action n'est effectuée.La connexion à la base de données est créée avec le nom de base de données spécifié ou la chaîne de connexion, comme décrit dans la documentation pour la classe DbContext.
Méthode publique Equals Détermine si la base de données spécifiée est égale à la base de données active. (Substitue Object.Equals(Object).)
Méthode publique ExecuteSqlCommand(String, Object[]) Exécute la commande DDL/DML donnée sur la base de données.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique ExecuteSqlCommand(TransactionalBehavior, String, Object[]) Exécute la commande DDL/DML donnée sur la base de données.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique ExecuteSqlCommandAsync(String, Object[]) Exécute de façon asynchrone la commande DDL/DML donnée sur la base de données.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique ExecuteSqlCommandAsync(String, CancellationToken, Object[]) Exécute de façon asynchrone la commande DDL/DML donnée sur la base de données.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique ExecuteSqlCommandAsync(TransactionalBehavior, String, Object[]) Exécute de façon asynchrone la commande DDL/DML donnée sur la base de données.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique ExecuteSqlCommandAsync(TransactionalBehavior, String, CancellationToken, Object[]) Exécute de façon asynchrone la commande DDL/DML donnée sur la base de données.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique Exists() Vérifie si la base de données existe ou non sur le serveur.
Méthode publiqueMembre statique Exists(DbConnection) Vérifie si la base de données existe ou non sur le serveur.
Méthode publiqueMembre statique Exists(String) Vérifie si la base de données existe ou non sur le serveur.La connexion à la base de données est créée avec le nom de base de données spécifié ou la chaîne de connexion, comme décrit dans la documentation pour la classe DbContext.
Méthode protégée Finalize (Hérité de Object.)
Méthode publique GetHashCode Retourne la fonction de hachage pour cette base de données. (Substitue Object.GetHashCode().)
Méthode publique GetType Obtient le Type de l'instance actuelle.
Méthode publique Initialize Exécute le IDatabaseInitializer<TContext> enregistré sur ce contexte.Si le paramètre « force » est défini sur true, l'initialiseur est exécuté qu'il ait ou n'ait pas déjà été exécuté.Cela peut être utile si une base de données est supprimée pendant qu'une application s'exécute et doit être réinitialisée.Si « force » a la valeur false, alors, l'initialiseur est exécuté uniquement s'il n'a pas déjà été exécuté pour ce contexte, modèle et connexion dans ce domaine d'application.Cette méthode est en général utilisée lorsqu'il est nécessaire de vérifier que la base de données a été créée et alimentée avant de démarrer une opération où une opération différée peut entraîner des problèmes, par exemple lorsque l'opération fait partie d'une transaction.
Méthode protégée MemberwiseClone (Hérité de Object.)
Méthode publiqueMembre statique SetInitializer<TContext> Définit l'initialiseur de la base de données à utiliser pour le type de contexte donné.L'initialiseur de base de données est appelé lorsque le type DbContext donné est utilisé pour accéder à une base de données pour la première fois.La stratégie par défaut pour les contextes Code First est une instance de CreateDatabaseIfNotExists<TContext>.
Méthode publique SqlQuery(Type, String, Object[]) Crée une requête SQL brute qui retournera des éléments du type donné.Le type peut être tout type possédant des propriétés correspondantes aux noms des colonnes retournées par la requête, ou peut être un type primitif simple.Le type spécifié n'est pas nécessairement un type d'entité.Les résultats de cette requête ne sont jamais suivis par le contexte, même si le type d'objet retourné est un type d'entité.Utilisez la méthode SqlQuery(String, Object[]) pour retourner des entités suivies par le contexte.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique SqlQuery<TElement>(String, Object[]) Crée une requête SQL brute qui retournera des éléments du type générique donné.Le type peut être tout type possédant des propriétés correspondantes aux noms des colonnes retournées par la requête, ou peut être un type primitif simple.Le type spécifié n'est pas nécessairement un type d'entité.Les résultats de cette requête ne sont jamais suivis par le contexte, même si le type d'objet retourné est un type d'entité.Utilisez la méthode SqlQuery(String, Object[]) pour retourner des entités suivies par le contexte.Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL.Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires.Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter.context.Database.SqlQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery.Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL.context.Database.SqlQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Méthode publique ToString Retourne une représentation sous forme de chaîne de la base de données. (Substitue Object.ToString().)
Méthode publique UseTransaction Permet à l'utilisateur de transmettre une transaction de base de données créée en dehors de l'objet Database si vous souhaitez qu'Entity Framework exécute des commandes dans cette transaction externe.Sinon, passez une valeur Null pour effacer les connaissances de l'infrastructure de cette transaction.

Top

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Voir aussi

Référence

Espace de noms System.Data.Entity