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 | |
---|---|---|
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. | |
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à. | |
CurrentTransaction | Obtient la transaction à laquelle la connexion au magasin sous-jacent est inscrite.Ce paramètre peut être null. | |
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. | |
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 | |
---|---|---|
BeginTransaction() | Démarre une transaction sur la connexion du magasin sous-jacent | |
BeginTransaction(IsolationLevel) | Commence une transaction sur la connexion du magasin sous-jacent avec le niveau d'isolation spécifié | |
CompatibleWithModel | Vérifie si la base de données est compatible ou non avec le modèle Code First actuel. | |
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. | |
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. | |
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. | |
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. | |
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. | |
Equals | Détermine si la base de données spécifiée est égale à la base de données active. (Substitue Object.Equals(Object).) | |
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)); | |
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)); | |
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)); | |
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)); | |
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)); | |
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)); | |
Exists() | Vérifie si la base de données existe ou non sur le serveur. | |
Exists(DbConnection) | Vérifie si la base de données existe ou non sur le serveur. | |
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. | |
Finalize | (Hérité de Object.) | |
GetHashCode | Retourne la fonction de hachage pour cette base de données. (Substitue Object.GetHashCode().) | |
GetType | Obtient le Type de l'instance actuelle. | |
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. | |
MemberwiseClone | (Hérité de Object.) | |
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>. | |
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)); | |
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<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<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ToString | Retourne une représentation sous forme de chaîne de la base de données. (Substitue Object.ToString().) | |
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.