DatabaseFacade 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.
Fournit l’accès aux informations et opérations relatives à la base de données pour un contexte. Les instances de cette classe sont généralement obtenues Database et elles ne sont pas conçues pour être directement construites dans votre code d’application.
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
[System.Runtime.CompilerServices.Nullable(0)]
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Infrastructure.IResettableService, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Infrastructure.IResettableService, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
[<System.Runtime.CompilerServices.Nullable(0)>]
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
interface IDatabaseFacadeDependenciesAccessor
interface IResettableService
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
interface IDatabaseFacadeDependenciesAccessor
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
interface IDatabaseFacadeDependenciesAccessor
interface IResettableService
Public Class DatabaseFacade
Implements IInfrastructure(Of IServiceProvider)
Public Class DatabaseFacade
Implements IDatabaseFacadeDependenciesAccessor, IInfrastructure(Of IServiceProvider), IResettableService
Public Class DatabaseFacade
Implements IDatabaseFacadeDependenciesAccessor, IInfrastructure(Of IServiceProvider)
- Héritage
-
DatabaseFacade
- Attributs
- Implémente
-
IInfrastructure<IServiceProvider> IResettableService IDatabaseFacadeDependenciesAccessor Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor
Constructeurs
| Nom | Description |
|---|---|
| DatabaseFacade(DbContext) |
Initialise une nouvelle instance de la classe DatabaseFacade. Les instances de cette classe sont généralement obtenues Database et elles ne sont pas conçues pour être directement construites dans votre code d’application. |
Propriétés
| Nom | Description |
|---|---|
| AutoSavepointsEnabled |
Si un point d’enregistrement de transaction est créé automatiquement SaveChanges() s’il est appelé une fois qu’une transaction a été démarrée manuellement avec BeginTransaction(). |
| AutoTransactionBehavior |
Obtient ou définit une valeur indiquant si une transaction sera créée automatiquement SaveChanges() si ni « BeginTransaction » ni « UseTransaction » n’a été appelée. |
| AutoTransactionsEnabled |
Obsolète.
Obsolète.
Obtient ou définit une valeur indiquant si une transaction est créée automatiquement SaveChanges() si aucune des méthodes « BeginTransaction » ou « UseTransaction » n’a été appelée. |
| CurrentTransaction |
Obtient le courant IDbContextTransaction utilisé par le contexte ou null si aucune transaction n’est en cours d’utilisation. |
| ProviderName |
Retourne le nom du fournisseur de base de données en cours d’utilisation. Le nom est généralement le nom de l’assembly de fournisseur. Il est généralement plus facile d’utiliser une méthode de sucre comme Microsoft.EntityFrameworkCore.SqlServerDatabaseFacadeExtensions.IsSqlServer au lieu d’appeler cette méthode directement. |
Méthodes
| Nom | Description |
|---|---|
| BeginTransaction() |
Démarre une nouvelle transaction. |
| BeginTransactionAsync(CancellationToken) |
Démarre de façon asynchrone une nouvelle transaction. |
| 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. |
| CommitTransaction() |
Applique les opérations en attente dans la transaction actuelle à la base de données. |
| CommitTransactionAsync(CancellationToken) |
Applique les opérations en attente dans la transaction actuelle à la base de données. |
| CreateExecutionStrategy() |
Crée une instance du fichier configuré IExecutionStrategy. |
| EnsureCreated() |
Garantit que la base de données pour le contexte existe. |
| EnsureCreatedAsync(CancellationToken) |
Garantit que la base de données pour le contexte existe. |
| EnsureDeleted() |
Garantit que la base de données pour le contexte n’existe pas. S’il n’existe pas, aucune action n’est prise. S’il 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 façon asynchrone que la base de données pour le contexte n’existe pas. S’il n’existe pas, aucune action n’est prise. S’il 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. |
| RollbackTransaction() |
Ignore les opérations en attente dans la transaction actuelle. |
| RollbackTransactionAsync(CancellationToken) |
Ignore les opérations en attente dans la transaction actuelle. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IDatabaseFacadeDependenciesAccessor.Context |
Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Il peut être modifié ou supprimé sans préavis dans n’importe quelle version. Vous devez uniquement l’utiliser directement dans votre code avec une prudence extrême et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core. |
| IDatabaseFacadeDependenciesAccessor.Dependencies |
Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Il peut être modifié ou supprimé sans préavis dans n’importe quelle version. Vous devez uniquement l’utiliser directement dans votre code avec une prudence extrême et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core. |
| IInfrastructure<IServiceProvider>.Instance |
Obtient l’étendue IServiceProvider utilisée pour résoudre les services. Cette propriété est destinée à être utilisée par des méthodes d’extension qui doivent utiliser des services non directement exposés dans la surface d’API publique. |
| IResettableService.ResetState() |
Réinitialise le service afin qu’il puisse être utilisé à partir du pool. |
| IResettableService.ResetStateAsync(CancellationToken) |
Fournit l’accès aux informations et opérations relatives à la base de données pour un contexte. Les instances de cette classe sont généralement obtenues Database et elles ne sont pas conçues pour être directement construites dans votre code d’application. |
Méthodes d’extension
| Nom | Description |
|---|---|
| AppendSessionToken(DatabaseFacade, String) |
Ajoute le jeton de session composite pour le conteneur par défaut pour ce DbContext. |
| AppendSessionTokens(DatabaseFacade, IReadOnlyDictionary<String,String>) |
Ajoute le jeton de sessions composites par conteneur avec DbContext les jetons spécifiés dans |
| BeginTransaction(DatabaseFacade, IsolationLevel) |
Démarre une nouvelle transaction avec un élément donné IsolationLevel. |
| BeginTransactionAsync(DatabaseFacade, IsolationLevel, CancellationToken) |
Démarre de façon asynchrone une nouvelle transaction avec un élément donné IsolationLevel. |
| CloseConnection(DatabaseFacade) |
Ferme le sous-jacent DbConnection. |
| CloseConnectionAsync(DatabaseFacade) |
Ferme le sous-jacent DbConnection. |
| EnlistTransaction(DatabaseFacade, Transaction) |
Spécifie un élément existant Transaction à utiliser pour les opérations de base de données. |
| ExecuteSql(DatabaseFacade, FormattableString) |
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) |
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlCommand(DatabaseFacade, FormattableString) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction(DatabaseFacade, DbTransaction). Notez que le courant n’est ExecutionStrategy pas utilisé par cette méthode, car le sql peut ne pas être idempotent et ne s’exécute pas dans une transaction. Une executionStrategy peut être utilisée explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent.
Comme avec toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour se protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètre 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 - |
| ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction(DatabaseFacade, DbTransaction). Notez que le courant n’est ExecutionStrategy pas utilisé par cette méthode, car le sql peut ne pas être idempotent et ne s’exécute pas dans une transaction. Une executionStrategy peut être utilisée explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent. Comme avec toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour se protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètre 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. Vous pouvez également envisager d’utiliser ExecuteSqlInterpolated pour utiliser la syntaxe de chaîne interpolée pour créer des paramètres. |
| ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[]) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction(DatabaseFacade, DbTransaction). Notez que le courant n’est ExecutionStrategy pas utilisé par cette méthode, car le sql peut ne pas être idempotent et ne s’exécute pas dans une transaction. Une executionStrategy peut être utilisée explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent.
Comme avec toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour se protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètre 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 - |
| ExecuteSqlCommand(DatabaseFacade, String, Object[]) |
Fournit l’accès aux informations et opérations relatives à la base de données pour un contexte. Les instances de cette classe sont généralement obtenues Database et elles ne sont pas conçues pour être directement construites dans votre code d’application. |
| ExecuteSqlCommandAsync(DatabaseFacade, FormattableString, CancellationToken) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction(DatabaseFacade, DbTransaction). Notez que le courant n’est ExecutionStrategy pas utilisé par cette méthode, car le sql peut ne pas être idempotent et ne s’exécute pas dans une transaction. Une executionStrategy peut être utilisée explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent.
Comme avec toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour se protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètre 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 - |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, CancellationToken) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction(DatabaseFacade, DbTransaction). Notez que le courant n’est ExecutionStrategy pas utilisé par cette méthode, car le sql peut ne pas être idempotent et ne s’exécute pas dans une transaction. Une executionStrategy peut être utilisée explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent.
Comme avec toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour se protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètre 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 - |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, IEnumerable<Object>, CancellationToken) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction(DatabaseFacade, DbTransaction). Notez que le courant n’est ExecutionStrategy pas utilisé par cette méthode, car le sql peut ne pas être idempotent et ne s’exécute pas dans une transaction. Une executionStrategy peut être utilisée explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent. Comme avec toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour se protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètre 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. Vous pouvez également envisager d’utiliser ExecuteSqlInterpolated pour utiliser la syntaxe de chaîne interpolée pour créer des paramètres. |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, Object[]) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction(DatabaseFacade, DbTransaction). Notez que le courant n’est ExecutionStrategy pas utilisé par cette méthode, car le sql peut ne pas être idempotent et ne s’exécute pas dans une transaction. Une executionStrategy peut être utilisée explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent.
Comme avec toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour se protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètre 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 - |
| ExecuteSqlCommandAsync(DatabaseFacade, String, CancellationToken, Object[]) |
Fournit l’accès aux informations et opérations relatives à la base de données pour un contexte. Les instances de cette classe sont généralement obtenues Database et elles ne sont pas conçues pour être directement construites dans votre code d’application. |
| ExecuteSqlInterpolated(DatabaseFacade, FormattableString) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlInterpolatedAsync(DatabaseFacade, FormattableString, CancellationToken) |
Obsolète.
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Exécute le sql donné sur la base de données et retourne le nombre de lignes affectées. |
| GenerateCreateScript(DatabaseFacade) |
Génère un script pour créer toutes les tables pour le modèle actuel. |
| GetAppliedMigrations(DatabaseFacade) |
Obtient toutes les migrations qui ont été appliquées à la base de données cible. |
| GetAppliedMigrationsAsync(DatabaseFacade, CancellationToken) |
Obtient de façon asynchrone toutes les migrations qui ont été appliquées à la base de données cible. |
| GetCommandTimeout(DatabaseFacade) |
Retourne le délai d’expiration (en secondes) défini pour les commandes exécutées avec ce DbContextparamètre . |
| GetConnectionString(DatabaseFacade) |
Obtient le chaîne de connexion sous-jacent configuré pour ce paramètre DbContext. |
| GetCosmosClient(DatabaseFacade) |
Obtient le sous-jacent CosmosClient de ce DbContext. |
| GetCosmosDatabaseId(DatabaseFacade) |
Obtient le nom de la base de données configurée pour ce DbContext. |
| GetDbConnection(DatabaseFacade) |
Obtient l’ADO sous-jacent.NET DbConnection pour cela DbContext. |
| GetEnlistedTransaction(DatabaseFacade) |
Retourne la transaction actuellement inscrite. |
| GetInfrastructure<T>(IInfrastructure<T>) |
Obtient la valeur d’une propriété masquée à l’aide IInfrastructure<T>de . Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application. |
| GetMigrations(DatabaseFacade) |
Obtient toutes les migrations définies dans l’assembly de migrations configuré. |
| GetPendingMigrations(DatabaseFacade) |
Obtient toutes les migrations définies dans l’assembly, mais qui n’ont pas été appliquées à la base de données cible. |
| GetPendingMigrationsAsync(DatabaseFacade, CancellationToken) |
Obtient de manière asynchrone toutes les migrations définies dans l’assembly, mais qui n’ont pas été appliquées à la base de données cible. |
| GetSessionToken(DatabaseFacade) |
Obtient le jeton de session composite pour le conteneur par défaut pour ce DbContext. |
| GetSessionTokens(DatabaseFacade) |
Obtient un dictionnaire qui contient le jeton de session composite par conteneur pour ce DbContext. |
| HasPendingModelChanges(DatabaseFacade) |
Retourne |
| IsCosmos(DatabaseFacade) |
Retourne |
| IsInMemory(DatabaseFacade) |
Retourne |
| IsRelational(DatabaseFacade) |
Retourne |
| IsSqlite(DatabaseFacade) |
Retourne |
| IsSqlServer(DatabaseFacade) |
Retourne |
| Migrate(DatabaseFacade, String) |
Applique des migrations pour le contexte à la base de données. Crée la base de données si elle n’existe pas déjà. |
| Migrate(DatabaseFacade) |
Applique toutes les migrations en attente pour le contexte à la base de données. Crée la base de données si elle n’existe pas déjà. |
| MigrateAsync(DatabaseFacade, CancellationToken) |
Applique de façon asynchrone toutes les migrations en attente pour le contexte à la base de données. Crée la base de données si elle n’existe pas déjà. |
| MigrateAsync(DatabaseFacade, String, CancellationToken) |
Applique de façon asynchrone les migrations pour le contexte à la base de données. Crée la base de données si elle n’existe pas déjà. |
| OpenConnection(DatabaseFacade) |
Ouvre le sous-jacent DbConnection. |
| OpenConnectionAsync(DatabaseFacade, CancellationToken) |
Ouvre le sous-jacent DbConnection. |
| SetCommandTimeout(DatabaseFacade, Nullable<Int32>) |
Définit le délai d’expiration (en secondes) à utiliser pour les commandes exécutées avec ce DbContextparamètre . |
| SetCommandTimeout(DatabaseFacade, TimeSpan) |
Définit le délai d’expiration à utiliser pour les commandes exécutées avec ce DbContextparamètre . |
| SetConnectionString(DatabaseFacade, String) |
Définit le chaîne de connexion sous-jacent configuré pour ce DbContextparamètre . |
| SetDbConnection(DatabaseFacade, DbConnection, Boolean) |
Définit l’ADO sous-jacent.NET DbConnection pour cela DbContext. |
| SetDbConnection(DatabaseFacade, DbConnection) |
Définit l’ADO sous-jacent.NET DbConnection pour cela DbContext. |
| SqlQuery<TResult>(DatabaseFacade, FormattableString) |
Crée une requête LINQ basée sur une requête SQL brute, qui retourne un jeu de résultats d’un type scalaire pris en charge en mode natif par le fournisseur de base de données. |
| SqlQueryRaw<TResult>(DatabaseFacade, String, Object[]) |
Crée une requête LINQ basée sur une requête SQL brute, qui retourne un jeu de résultats d’un type scalaire pris en charge en mode natif par le fournisseur de base de données. |
| UseSessionToken(DatabaseFacade, String) |
Définit le jeton de session composite pour le conteneur par défaut pour ce DbContext. |
| UseSessionTokens(DatabaseFacade, IReadOnlyDictionary<String,String>) |
Définit le jeton de sessions composites par conteneur avec DbContext les jetons spécifiés dans |
| UseTransaction(DatabaseFacade, DbTransaction, Guid) |
Définit la DbTransaction valeur à utiliser par les opérations de base de données sur le DbContext. |
| UseTransaction(DatabaseFacade, DbTransaction) |
Définit la DbTransaction valeur à utiliser par les opérations de base de données sur le DbContext. |
| UseTransactionAsync(DatabaseFacade, DbTransaction, CancellationToken) |
Définit la DbTransaction valeur à utiliser par les opérations de base de données sur le DbContext. |
| UseTransactionAsync(DatabaseFacade, DbTransaction, Guid, CancellationToken) |
Définit la DbTransaction valeur à utiliser par les opérations de base de données sur le DbContext. |