DatabaseFacade Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece acesso a informações e operações relacionadas ao banco de dados para um contexto. As instâncias dessa classe normalmente são obtidas Database e não foram projetadas para serem diretamente construídas no código do aplicativo.
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)
- Herança
-
DatabaseFacade
- Atributos
- Implementações
-
IInfrastructure<IServiceProvider> IResettableService IDatabaseFacadeDependenciesAccessor Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor
Construtores
| Nome | Description |
|---|---|
| DatabaseFacade(DbContext) |
Inicializa uma nova instância da classe DatabaseFacade. As instâncias dessa classe normalmente são obtidas Database e não foram projetadas para serem diretamente construídas no código do aplicativo. |
Propriedades
| Nome | Description |
|---|---|
| AutoSavepointsEnabled |
Se um ponto de salvamento de transação será criado automaticamente SaveChanges() se for chamado depois que uma transação tiver sido iniciada manualmente.BeginTransaction() |
| AutoTransactionBehavior |
Obtém ou define um valor que indica se uma transação será criada automaticamente SaveChanges() se nem 'BeginTransaction' nem 'UseTransaction' tiver sido chamado. |
| AutoTransactionsEnabled |
Obsoleto.
Obsoleto.
Obtém ou define um valor que indica se uma transação será criada automaticamente SaveChanges() se nenhum dos métodos 'BeginTransaction' ou 'UseTransaction' tiver sido chamado. |
| CurrentTransaction |
Obtém a corrente IDbContextTransaction que está sendo usada pelo contexto ou nula se nenhuma transação estiver em uso. |
| ProviderName |
Retorna o nome do provedor de banco de dados atualmente em uso. O nome normalmente é o nome do assembly do provedor. Geralmente, é mais fácil usar um método de açúcar, como Microsoft.EntityFrameworkCore.SqlServerDatabaseFacadeExtensions.IsSqlServer em vez de chamar esse método diretamente. |
Métodos
| Nome | Description |
|---|---|
| BeginTransaction() |
Inicia uma nova transação. |
| BeginTransactionAsync(CancellationToken) |
Inicia uma nova transação de forma assíncrona. |
| CanConnect() |
Determina se o banco de dados está disponível e pode ser conectado. |
| CanConnectAsync(CancellationToken) |
Determina se o banco de dados está disponível e pode ser conectado. |
| CommitTransaction() |
Aplica as operações pendentes na transação atual ao banco de dados. |
| CommitTransactionAsync(CancellationToken) |
Aplica as operações pendentes na transação atual ao banco de dados. |
| CreateExecutionStrategy() |
Cria uma instância do configurado IExecutionStrategy. |
| EnsureCreated() |
Garante que o banco de dados para o contexto exista. |
| EnsureCreatedAsync(CancellationToken) |
Garante que o banco de dados para o contexto exista. |
| EnsureDeleted() |
Garante que o banco de dados para o contexto não exista. Se ele não existir, nenhuma ação será tomada. Se ele existir, o banco de dados será excluído. Aviso: todo o banco de dados é excluído e nenhum esforço é feito para remover apenas os objetos de banco de dados usados pelo modelo para esse contexto. |
| EnsureDeletedAsync(CancellationToken) |
Garante de forma assíncrona que o banco de dados para o contexto não exista. Se ele não existir, nenhuma ação será tomada. Se ele existir, o banco de dados será excluído. Aviso: todo o banco de dados é excluído e nenhum esforço é feito para remover apenas os objetos de banco de dados usados pelo modelo para esse contexto. |
| RollbackTransaction() |
Descarta as operações pendentes na transação atual. |
| RollbackTransactionAsync(CancellationToken) |
Descarta as operações pendentes na transação atual. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IDatabaseFacadeDependenciesAccessor.Context |
Essa é uma API interna que dá suporte à infraestrutura de Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão Entity Framework Core. |
| IDatabaseFacadeDependenciesAccessor.Dependencies |
Essa é uma API interna que dá suporte à infraestrutura de Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão Entity Framework Core. |
| IInfrastructure<IServiceProvider>.Instance |
Obtém o escopo IServiceProvider que está sendo usado para resolver serviços. Essa propriedade destina-se ao uso por métodos de extensão que precisam fazer uso de serviços não expostos diretamente na superfície da API pública. |
| IResettableService.ResetState() |
Redefine o serviço para que ele possa ser usado no pool. |
| IResettableService.ResetStateAsync(CancellationToken) |
Fornece acesso a informações e operações relacionadas ao banco de dados para um contexto. As instâncias dessa classe normalmente são obtidas Database e não foram projetadas para serem diretamente construídas no código do aplicativo. |
Métodos de Extensão
| Nome | Description |
|---|---|
| AppendSessionToken(DatabaseFacade, String) |
Acrescenta o token de sessão composta para o contêiner padrão para este DbContext. |
| AppendSessionTokens(DatabaseFacade, IReadOnlyDictionary<String,String>) |
Acrescenta o token de sessões compostas por contêiner para isso DbContext com os tokens especificados em |
| BeginTransaction(DatabaseFacade, IsolationLevel) |
Inicia uma nova transação com um determinado IsolationLevel. |
| BeginTransactionAsync(DatabaseFacade, IsolationLevel, CancellationToken) |
Inicia de forma assíncrona uma nova transação com um determinado IsolationLevel. |
| CloseConnection(DatabaseFacade) |
Fecha o subjacente DbConnection. |
| CloseConnectionAsync(DatabaseFacade) |
Fecha o subjacente DbConnection. |
| EnlistTransaction(DatabaseFacade, Transaction) |
Especifica um existente Transaction a ser usado para operações de banco de dados. |
| ExecuteSql(DatabaseFacade, FormattableString) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlCommand(DatabaseFacade, FormattableString) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction(DatabaseFacade, DbTransaction). Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – |
| ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction(DatabaseFacade, DbTransaction). Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente. Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter. Você também pode considerar o uso de ExecuteSqlInterpolated para usar a sintaxe de cadeia de caracteres interpolada para criar parâmetros. |
| ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[]) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction(DatabaseFacade, DbTransaction). Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – |
| ExecuteSqlCommand(DatabaseFacade, String, Object[]) |
Fornece acesso a informações e operações relacionadas ao banco de dados para um contexto. As instâncias dessa classe normalmente são obtidas Database e não foram projetadas para serem diretamente construídas no código do aplicativo. |
| ExecuteSqlCommandAsync(DatabaseFacade, FormattableString, CancellationToken) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction(DatabaseFacade, DbTransaction). Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, CancellationToken) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction(DatabaseFacade, DbTransaction). Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, IEnumerable<Object>, CancellationToken) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction(DatabaseFacade, DbTransaction). Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente. Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter. Você também pode considerar o uso de ExecuteSqlInterpolated para usar a sintaxe de cadeia de caracteres interpolada para criar parâmetros. |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, Object[]) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction(DatabaseFacade, DbTransaction). Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – |
| ExecuteSqlCommandAsync(DatabaseFacade, String, CancellationToken, Object[]) |
Fornece acesso a informações e operações relacionadas ao banco de dados para um contexto. As instâncias dessa classe normalmente são obtidas Database e não foram projetadas para serem diretamente construídas no código do aplicativo. |
| ExecuteSqlInterpolated(DatabaseFacade, FormattableString) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlInterpolatedAsync(DatabaseFacade, FormattableString, CancellationToken) |
Obsoleto.
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| GenerateCreateScript(DatabaseFacade) |
Gera um script para criar todas as tabelas para o modelo atual. |
| GetAppliedMigrations(DatabaseFacade) |
Obtém todas as migrações que foram aplicadas ao banco de dados de destino. |
| GetAppliedMigrationsAsync(DatabaseFacade, CancellationToken) |
Obtém de forma assíncrona todas as migrações que foram aplicadas ao banco de dados de destino. |
| GetCommandTimeout(DatabaseFacade) |
Retorna o tempo limite (em segundos) definido para comandos executados com este DbContext. |
| GetConnectionString(DatabaseFacade) |
Obtém o cadeia de conexão subjacente configurado para issoDbContext. |
| GetCosmosClient(DatabaseFacade) |
Obtém o subjacente CosmosClient para isso DbContext. |
| GetCosmosDatabaseId(DatabaseFacade) |
Obtém o nome do banco de dados configurado para isso DbContext. |
| GetDbConnection(DatabaseFacade) |
Obtém o ADO subjacente.NET DbConnection para issoDbContext. |
| GetEnlistedTransaction(DatabaseFacade) |
Retorna a transação inscrida no momento. |
| GetInfrastructure<T>(IInfrastructure<T>) |
Obtém o valor de uma propriedade que está sendo ocultada usando IInfrastructure<T>. Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo. |
| GetMigrations(DatabaseFacade) |
Obtém todas as migrações definidas no assembly de migrações configurado. |
| GetPendingMigrations(DatabaseFacade) |
Obtém todas as migrações definidas no assembly, mas que não foram aplicadas ao banco de dados de destino. |
| GetPendingMigrationsAsync(DatabaseFacade, CancellationToken) |
Obtém de forma assíncrona todas as migrações definidas no assembly, mas que não foram aplicadas ao banco de dados de destino. |
| GetSessionToken(DatabaseFacade) |
Obtém o token de sessão composta para o contêiner padrão para este DbContext. |
| GetSessionTokens(DatabaseFacade) |
Obtém um dicionário que contém o token de sessão composta por contêiner para isso DbContext. |
| HasPendingModelChanges(DatabaseFacade) |
Retorna |
| IsCosmos(DatabaseFacade) |
Retornará |
| IsInMemory(DatabaseFacade) |
Retornará |
| IsRelational(DatabaseFacade) |
Retorna |
| IsSqlite(DatabaseFacade) |
Retorna |
| IsSqlServer(DatabaseFacade) |
Retornará |
| Migrate(DatabaseFacade, String) |
Aplica migrações para o contexto ao banco de dados. Criará o banco de dados se ele ainda não existir. |
| Migrate(DatabaseFacade) |
Aplica as migrações pendentes para o contexto para o banco de dados. Criará o banco de dados se ele ainda não existir. |
| MigrateAsync(DatabaseFacade, CancellationToken) |
Aplica de forma assíncrona todas as migrações pendentes para o contexto para o banco de dados. Criará o banco de dados se ele ainda não existir. |
| MigrateAsync(DatabaseFacade, String, CancellationToken) |
Aplica migrações de forma assíncrona para o contexto para o banco de dados. Criará o banco de dados se ele ainda não existir. |
| OpenConnection(DatabaseFacade) |
Abre o subjacente DbConnection. |
| OpenConnectionAsync(DatabaseFacade, CancellationToken) |
Abre o subjacente DbConnection. |
| SetCommandTimeout(DatabaseFacade, Nullable<Int32>) |
Define o tempo limite (em segundos) a ser usado para comandos executados com este DbContext. |
| SetCommandTimeout(DatabaseFacade, TimeSpan) |
Define o tempo limite a ser usado para comandos executados com este DbContext. |
| SetConnectionString(DatabaseFacade, String) |
Define o cadeia de conexão subjacente configurado para issoDbContext. |
| SetDbConnection(DatabaseFacade, DbConnection, Boolean) |
Define o ADO subjacente.NET DbConnection para issoDbContext. |
| SetDbConnection(DatabaseFacade, DbConnection) |
Define o ADO subjacente.NET DbConnection para issoDbContext. |
| SqlQuery<TResult>(DatabaseFacade, FormattableString) |
Cria uma consulta LINQ com base em uma consulta SQL bruta, que retorna um conjunto de resultados de um tipo escalar com suporte nativo pelo provedor de banco de dados. |
| SqlQueryRaw<TResult>(DatabaseFacade, String, Object[]) |
Cria uma consulta LINQ com base em uma consulta SQL bruta, que retorna um conjunto de resultados de um tipo escalar com suporte nativo pelo provedor de banco de dados. |
| UseSessionToken(DatabaseFacade, String) |
Define o token de sessão composta para o contêiner padrão para este DbContext. |
| UseSessionTokens(DatabaseFacade, IReadOnlyDictionary<String,String>) |
Define o token de sessões compostas por contêiner para isso DbContext com os tokens especificados em |
| UseTransaction(DatabaseFacade, DbTransaction, Guid) |
Define o DbTransaction que será usado pelas operações de banco de dados no DbContext. |
| UseTransaction(DatabaseFacade, DbTransaction) |
Define o DbTransaction que será usado pelas operações de banco de dados no DbContext. |
| UseTransactionAsync(DatabaseFacade, DbTransaction, CancellationToken) |
Define o DbTransaction que será usado pelas operações de banco de dados no DbContext. |
| UseTransactionAsync(DatabaseFacade, DbTransaction, Guid, CancellationToken) |
Define o DbTransaction que será usado pelas operações de banco de dados no DbContext. |