DatabaseFacade Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona acceso a la información y las operaciones relacionadas con la base de datos para un contexto. Las instancias de esta clase se obtienen normalmente de Database y no están diseñadas para construirse directamente en el código de la aplicación.
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
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>
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)
Public Class DatabaseFacade
Implements IDatabaseFacadeDependenciesAccessor, IInfrastructure(Of IServiceProvider), IResettableService
- Herencia
-
DatabaseFacade
- Implementaciones
-
IInfrastructure<IServiceProvider> Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor IDatabaseFacadeDependenciesAccessor IResettableService
Constructores
DatabaseFacade(DbContext) |
Inicializa una nueva instancia de la clase DatabaseFacade. Las instancias de esta clase se obtienen normalmente de Database y no están diseñadas para construirse directamente en el código de la aplicación. |
Propiedades
AutoSavepointsEnabled |
Si se llama automáticamente SaveChanges() a un punto de retorno de transacción, si se llama a una transacción después de iniciar manualmente una transacción con BeginTransaction(). |
AutoTransactionBehavior |
Obtiene o establece un valor que indica si se creará automáticamente SaveChanges() una transacción si no se ha llamado a "BeginTransaction" ni a "UseTransaction". |
AutoTransactionsEnabled |
Obsoleto..
Obsoleto..
Obtiene o establece un valor que indica si se creará automáticamente SaveChanges() una transacción si no se ha llamado a ninguno de los métodos "BeginTransaction" o "UseTransaction". |
CurrentTransaction |
Obtiene el objeto actual IDbContextTransaction que usa el contexto o null si no hay ninguna transacción en uso. |
ProviderName |
Devuelve el nombre del proveedor de base de datos actualmente en uso. El nombre suele ser el nombre del ensamblado del proveedor. Normalmente es más fácil usar un método de azúcar, como Microsoft.EntityFrameworkCore.SqlServerDatabaseFacadeExtensions.IsSqlServer en lugar de llamar directamente a este método. |
Métodos
BeginTransaction() |
Inicia una nueva transacción. |
BeginTransactionAsync(CancellationToken) |
Inicia de forma asincrónica una nueva transacción. |
CanConnect() |
Determina si la base de datos está disponible o no y se puede conectar a ella. |
CanConnectAsync(CancellationToken) |
Determina si la base de datos está disponible o no y se puede conectar a ella. |
CommitTransaction() |
Aplica las operaciones pendientes de la transacción actual a la base de datos. |
CommitTransactionAsync(CancellationToken) |
Aplica las operaciones pendientes de la transacción actual a la base de datos. |
CreateExecutionStrategy() |
Crea una instancia de la clase configurada IExecutionStrategy. |
EnsureCreated() |
Garantiza que existe la base de datos para el contexto. |
EnsureCreatedAsync(CancellationToken) |
Garantiza que existe la base de datos para el contexto. |
EnsureDeleted() |
Garantiza que la base de datos del contexto no existe. Si no existe, no se realiza ninguna acción. Si existe, se elimina la base de datos. Advertencia: se elimina toda la base de datos y no se realiza ningún esfuerzo para quitar solo los objetos de base de datos que usa el modelo para este contexto. |
EnsureDeletedAsync(CancellationToken) |
Garantiza de forma asincrónica que la base de datos del contexto no existe. Si no existe, no se realiza ninguna acción. Si existe, se elimina la base de datos. Advertencia: se elimina toda la base de datos y no se realiza ningún esfuerzo para quitar solo los objetos de base de datos que usa el modelo para este contexto. |
RollbackTransaction() |
Descarta las operaciones pendientes en la transacción actual. |
RollbackTransactionAsync(CancellationToken) |
Descarta las operaciones pendientes en la transacción actual. |
Implementaciones de interfaz explícitas
IDatabaseFacadeDependenciesAccessor.Context |
Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede dar lugar a errores de aplicación al actualizar a una nueva versión de Entity Framework Core. |
IDatabaseFacadeDependenciesAccessor.Dependencies |
Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede dar lugar a errores de aplicación al actualizar a una nueva versión de Entity Framework Core. |
IInfrastructure<IServiceProvider>.Instance |
Obtiene el ámbito que IServiceProvider se usa para resolver los servicios. Esta propiedad está pensada para su uso por métodos de extensión que necesitan hacer uso de servicios que no se exponen directamente en la superficie de la API pública. |
IResettableService.ResetState() |
Restablece el servicio para que se pueda usar desde el grupo. |
IResettableService.ResetStateAsync(CancellationToken) |
Proporciona acceso a la información y las operaciones relacionadas con la base de datos para un contexto. Las instancias de esta clase se obtienen normalmente de Database y no están diseñadas para construirse directamente en el código de la aplicación. |
Métodos de extensión
GetCosmosClient(DatabaseFacade) |
Obtiene el objeto subyacente CosmosClient para este DbContextobjeto . |
GetCosmosDatabaseId(DatabaseFacade) |
Obtiene el nombre de la base de datos configurada para este DbContextobjeto . |
IsCosmos(DatabaseFacade) |
Devuelve |
GetInfrastructure<T>(IInfrastructure<T>) |
Obtiene el valor de una propiedad que se oculta mediante IInfrastructure<T>. Normalmente, los proveedores de bases de datos usan este método (y otras extensiones). Por lo general, no se usa en el código de aplicación. |
IsInMemory(DatabaseFacade) |
Devuelve |
BeginTransaction(DatabaseFacade, IsolationLevel) |
Inicia una nueva transacción con un determinado IsolationLevel. |
BeginTransactionAsync(DatabaseFacade, IsolationLevel, CancellationToken) |
Inicia de forma asincrónica una nueva transacción con un determinado IsolationLevel. |
CloseConnection(DatabaseFacade) |
Cierra el objeto subyacente DbConnection. |
CloseConnectionAsync(DatabaseFacade) |
Cierra el objeto subyacente DbConnection. |
ExecuteSql(DatabaseFacade, FormattableString) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>) |
Obsoleto..
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction(DatabaseFacade, DbTransaction). Tenga en cuenta que este método no usa el actual ExecutionStrategy , ya que es posible que SQL no sea idempotente y no se ejecute en una transacción. ExecutionStrategy se puede usar explícitamente, asegurándose de usar también una transacción si SQL no es idempotente. Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en un DbParameter. También puede considerar el uso de ExecuteSqlInterpolated para usar la sintaxis de cadena interpolada para crear parámetros. |
ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[]) |
Obsoleto..
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction(DatabaseFacade, DbTransaction). Tenga en cuenta que este método no usa el actual ExecutionStrategy , ya que es posible que SQL no sea idempotente y no se ejecute en una transacción. ExecutionStrategy se puede usar explícitamente, asegurándose de usar también una transacción si SQL no es idempotente.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter: |
ExecuteSqlCommand(DatabaseFacade, FormattableString) |
Obsoleto..
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction(DatabaseFacade, DbTransaction). Tenga en cuenta que este método no usa el actual ExecutionStrategy , ya que es posible que SQL no sea idempotente y no se ejecute en una transacción. ExecutionStrategy se puede usar explícitamente, asegurándose de usar también una transacción si SQL no es idempotente.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter: |
ExecuteSqlCommand(DatabaseFacade, String, Object[]) |
Proporciona acceso a la información y las operaciones relacionadas con la base de datos para un contexto. Las instancias de esta clase se obtienen normalmente de Database y no están diseñadas para construirse directamente en el código de la aplicación. |
ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, IEnumerable<Object>, CancellationToken) |
Obsoleto..
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction(DatabaseFacade, DbTransaction). Tenga en cuenta que este método no usa el actual ExecutionStrategy , ya que es posible que SQL no sea idempotente y no se ejecute en una transacción. ExecutionStrategy se puede usar explícitamente, asegurándose de usar también una transacción si SQL no es idempotente. Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en un DbParameter. También puede considerar el uso de ExecuteSqlInterpolated para usar la sintaxis de cadena interpolada para crear parámetros. |
ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, Object[]) |
Obsoleto..
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction(DatabaseFacade, DbTransaction). Tenga en cuenta que este método no usa el actual ExecutionStrategy , ya que es posible que SQL no sea idempotente y no se ejecute en una transacción. ExecutionStrategy se puede usar explícitamente, asegurándose de usar también una transacción si SQL no es idempotente.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter: |
ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, CancellationToken) |
Obsoleto..
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction(DatabaseFacade, DbTransaction). Tenga en cuenta que este método no usa el actual ExecutionStrategy , ya que es posible que SQL no sea idempotente y no se ejecute en una transacción. ExecutionStrategy se puede usar explícitamente, asegurándose de usar también una transacción si SQL no es idempotente.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter: |
ExecuteSqlCommandAsync(DatabaseFacade, FormattableString, CancellationToken) |
Obsoleto..
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction(DatabaseFacade, DbTransaction). Tenga en cuenta que este método no usa el actual ExecutionStrategy , ya que es posible que SQL no sea idempotente y no se ejecute en una transacción. ExecutionStrategy se puede usar explícitamente, asegurándose de usar también una transacción si SQL no es idempotente.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter: |
ExecuteSqlCommandAsync(DatabaseFacade, String, CancellationToken, Object[]) |
Proporciona acceso a la información y las operaciones relacionadas con la base de datos para un contexto. Las instancias de esta clase se obtienen normalmente de Database y no están diseñadas para construirse directamente en el código de la aplicación. |
ExecuteSqlInterpolated(DatabaseFacade, FormattableString) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlInterpolatedAsync(DatabaseFacade, FormattableString, CancellationToken) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Ejecuta el sql especificado en la base de datos y devuelve el número de filas afectadas. |
GenerateCreateScript(DatabaseFacade) |
Genera un script para crear todas las tablas para el modelo actual. |
GetAppliedMigrations(DatabaseFacade) |
Obtiene todas las migraciones que se han aplicado a la base de datos de destino. |
GetAppliedMigrationsAsync(DatabaseFacade, CancellationToken) |
Obtiene de forma asincrónica todas las migraciones que se han aplicado a la base de datos de destino. |
GetCommandTimeout(DatabaseFacade) |
Devuelve el tiempo de espera (en segundos) establecido para los comandos ejecutados con este DbContext. |
GetConnectionString(DatabaseFacade) |
Obtiene el cadena de conexión subyacente configurado para este DbContextobjeto . |
GetDbConnection(DatabaseFacade) |
Obtiene el ADO.NET DbConnection subyacente de este DbContextobjeto . |
GetMigrations(DatabaseFacade) |
Obtiene todas las migraciones definidas en el ensamblado de migraciones configuradas. |
GetPendingMigrations(DatabaseFacade) |
Obtiene todas las migraciones definidas en el ensamblado, pero que no se han aplicado a la base de datos de destino. |
GetPendingMigrationsAsync(DatabaseFacade, CancellationToken) |
Obtiene de forma asincrónica todas las migraciones definidas en el ensamblado, pero que no se han aplicado a la base de datos de destino. |
HasPendingModelChanges(DatabaseFacade) |
Devuelve |
IsRelational(DatabaseFacade) |
Devuelve |
Migrate(DatabaseFacade) |
Aplica las migraciones pendientes para el contexto a la base de datos. Creará la base de datos si aún no existe. |
MigrateAsync(DatabaseFacade, CancellationToken) |
Aplica de forma asincrónica las migraciones pendientes para el contexto a la base de datos. Creará la base de datos si aún no existe. |
OpenConnection(DatabaseFacade) |
Abre el objeto subyacente DbConnection. |
OpenConnectionAsync(DatabaseFacade, CancellationToken) |
Abre el objeto subyacente DbConnection. |
SetCommandTimeout(DatabaseFacade, Nullable<Int32>) |
Establece el tiempo de espera (en segundos) que se va a usar para los comandos ejecutados con este DbContext. |
SetCommandTimeout(DatabaseFacade, TimeSpan) |
Establece el tiempo de espera que se va a usar para los comandos ejecutados con este DbContext. |
SetConnectionString(DatabaseFacade, String) |
Establece el cadena de conexión subyacente configurado para este DbContextobjeto . |
SetDbConnection(DatabaseFacade, DbConnection) |
Establece el ADO.NET DbConnection subyacente para este DbContextobjeto . |
SetDbConnection(DatabaseFacade, DbConnection, Boolean) |
Establece el ADO.NET DbConnection subyacente para este DbContextobjeto . |
SqlQuery<TResult>(DatabaseFacade, FormattableString) |
Crea una consulta LINQ basada en una consulta SQL sin procesar, que devuelve un conjunto de resultados de un tipo escalar admitido de forma nativa por el proveedor de base de datos. |
SqlQueryRaw<TResult>(DatabaseFacade, String, Object[]) |
Crea una consulta LINQ basada en una consulta SQL sin procesar, que devuelve un conjunto de resultados de un tipo escalar admitido de forma nativa por el proveedor de base de datos. |
UseTransaction(DatabaseFacade, DbTransaction) |
Establece el objeto DbTransaction que se va a usar en las operaciones de base de datos en .DbContext |
UseTransaction(DatabaseFacade, DbTransaction, Guid) |
Establece el objeto DbTransaction que se va a usar en las operaciones de base de datos en .DbContext |
UseTransactionAsync(DatabaseFacade, DbTransaction, Guid, CancellationToken) |
Establece el objeto DbTransaction que se va a usar en las operaciones de base de datos en .DbContext |
UseTransactionAsync(DatabaseFacade, DbTransaction, CancellationToken) |
Establece el objeto DbTransaction que se va a usar en las operaciones de base de datos en .DbContext |
IsSqlite(DatabaseFacade) |
Devuelve |
IsSqlServer(DatabaseFacade) |
Devuelve |
EnlistTransaction(DatabaseFacade, Transaction) |
Especifica un existente Transaction que se va a usar para las operaciones de base de datos. |
GetEnlistedTransaction(DatabaseFacade) |
Devuelve la transacción actualmente enlistada. |