Partager via


Database Classe

Définition

Un instance de cette classe est obtenu à partir d’un DbContext objet et peut être utilisé pour gérer la base de données réelle qui contient 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 vérification de l’existence d’une base de données peuvent être effectuées uniquement à l’aide d’une connexion (c’est-à-dire sans contexte complet) à l’aide des méthodes statiques de cette classe.

public class Database
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification="The DbContextTransaction and EntityTransaction should never be disposed by this class")]
public class Database
type Database = class
Public Class Database
Héritage
Database
Attributs

Propriétés

CommandTimeout

Obtient ou définit la valeur du délai d’expiration, en secondes, pour toutes les opérations de contexte. La valeur par défaut est null, où null 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 entraîner la création de la connexion si elle n’existe pas déjà.

CurrentTransaction

Obtient la transaction dans laquelle la connexion de magasin sous-jacente est inscrite. Ce paramètre peut être null.

DefaultConnectionFactory
Obsolète.

Fabrique de connexion à utiliser lors de la création d’un DbConnection à partir d’un nom de base de données ou d’une chaîne de connexion.

Log

Définissez cette propriété pour journaliser le SQL généré par sur DbContext le délégué donné. Par exemple, pour vous connecter à la console, définissez cette propriété sur Write(String).

Méthodes

BeginTransaction()

Commence une transaction sur la connexion de magasin sous-jacente

BeginTransaction(IsolationLevel)

Commence une transaction sur la connexion de magasin sous-jacente à l’aide du niveau d’isolation spécifié

CompatibleWithModel(Boolean)

Vérifie si la base de données est compatible 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 d’utilisation de la base de données est effectuée après sa suppression, tout jeu d’initialiseurs s’exécute à nouveau et, généralement, tente 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 à l’aide du nom de base de données ou de la chaîne de connexion donnés de la même manière que celle décrite dans la documentation de la DbContext classe.

Equals(Object)

Un instance de cette classe est obtenu à partir d’un DbContext objet et peut être utilisé pour gérer la base de données réelle qui contient 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 vérification de l’existence d’une base de données peuvent être effectuées uniquement à l’aide d’une connexion (c’est-à-dire sans contexte complet) à l’aide des méthodes statiques de cette classe.

ExecuteSqlCommand(String, Object[])

Exécute la commande DDL/DML donnée sur la base de données.

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter. Contexte. Database.ExecuteSqlCommand(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @p0« , userSuppliedAuthor); Vous pouvez également construire un DbParameter et le fournir à SqlQuery. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL. Contexte. 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 toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter. Contexte. Database.ExecuteSqlCommand(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @p0« , userSuppliedAuthor); Vous pouvez également construire un DbParameter et le fournir à SqlQuery. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL. Contexte. Database.ExecuteSqlCommand(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @author« , new SqlParameter(« @author », userSuppliedAuthor));

ExecuteSqlCommandAsync(String, CancellationToken, Object[])

Exécute de manière asynchrone la commande DDL/DML donnée sur la base de données.

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter. Contexte. Database.ExecuteSqlCommandAsync(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @p0« , userSuppliedAuthor); Vous pouvez également construire un DbParameter et le fournir à SqlQuery. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL. Contexte. Database.ExecuteSqlCommandAsync(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @author« , new SqlParameter(« @author », userSuppliedAuthor));

ExecuteSqlCommandAsync(String, Object[])

Exécute de manière asynchrone la commande DDL/DML donnée sur la base de données.

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter. Contexte. Database.ExecuteSqlCommandAsync(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @p0« , userSuppliedAuthor); Vous pouvez également construire un DbParameter et le fournir à SqlQuery. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL. Contexte. Database.ExecuteSqlCommandAsync(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @author« , new SqlParameter(« @author », userSuppliedAuthor));

ExecuteSqlCommandAsync(TransactionalBehavior, String, CancellationToken, Object[])

Exécute de manière asynchrone la commande DDL/DML donnée sur la base de données.

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter. Contexte. Database.ExecuteSqlCommandAsync(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @p0« , userSuppliedAuthor); Vous pouvez également construire un DbParameter et le fournir à SqlQuery. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL. Contexte. Database.ExecuteSqlCommandAsync(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @author« , new SqlParameter(« @author », userSuppliedAuthor));

ExecuteSqlCommandAsync(TransactionalBehavior, String, Object[])

Exécute de manière asynchrone la commande DDL/DML donnée sur la base de données.

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter. Contexte. Database.ExecuteSqlCommandAsync(« UPDATE dbo. Posts SET Rating = 5 WHERE Author = @p0« , userSuppliedAuthor); Vous pouvez également construire un DbParameter et le fournir à SqlQuery. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL. Contexte. 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 à l’aide du nom de base de données ou de la chaîne de connexion donnés de la même manière que celle décrite dans la documentation de la DbContext classe.

GetHashCode()

Un instance de cette classe est obtenu à partir d’un DbContext objet et peut être utilisé pour gérer la base de données réelle qui contient 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 vérification de l’existence d’une base de données peuvent être effectuées uniquement à l’aide d’une connexion (c’est-à-dire sans contexte complet) à l’aide des méthodes statiques de cette classe.

GetType()

Obtient le Type de l'instance actuelle.

Initialize(Boolean)

Exécute l’inscrit IDatabaseInitializer<TContext> dans ce contexte. Si « force » a la valeur true, l’initialiseur est exécuté, qu’il ait ou non été exécuté auparavant. 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, l’initialiseur n’est exécuté que s’il n’a pas déjà été exécuté pour ce contexte, ce modèle et cette connexion dans ce domaine d’application. Cette méthode est généralement utilisée lorsqu’il est nécessaire de s’assurer que la base de données a été créée et créée avant de démarrer une opération où cela entraîne des problèmes, par exemple lorsque l’opération fait partie d’une transaction.

SetInitializer<TContext>(IDatabaseInitializer<TContext>)

Définit l’initialiseur de base de données à utiliser pour le type de contexte donné. L’initialiseur de base de données est appelé lorsqu’un type donné DbContext 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 n’a pas besoin d’être 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 SqlQuery(String, Object[]) méthode pour retourner des entités suivies par le contexte.

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 n’a pas besoin d’être 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 SqlQuery(String, Object[]) méthode pour retourner des entités suivies par le contexte.

ToString()

Un instance de cette classe est obtenu à partir d’un DbContext objet et peut être utilisé pour gérer la base de données réelle qui contient 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 vérification de l’existence d’une base de données peuvent être effectuées uniquement à l’aide d’une connexion (c’est-à-dire sans contexte complet) à l’aide des méthodes statiques de cette classe.

UseTransaction(DbTransaction)

Permet à l’utilisateur de passer une transaction de base de données créée en dehors de l’objet Database si vous souhaitez que Entity Framework exécute des commandes dans cette transaction externe. Vous pouvez également transmettre null pour effacer la connaissance de cette transaction par l’infrastructure.

S’applique à