DatabaseFacade Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет доступ к связанной с базой данных информации и операциям для контекста. Экземпляры этого класса обычно получаются из Database и не предназначены для непосредственного создания в коде приложения.
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
- Наследование
-
DatabaseFacade
- Реализации
-
IInfrastructure<IServiceProvider> Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor IDatabaseFacadeDependenciesAccessor IResettableService
Конструкторы
| DatabaseFacade(DbContext) |
Инициализирует новый экземпляр класса DatabaseFacade. Экземпляры этого класса обычно получаются из Database и не предназначены для непосредственного создания в коде приложения. |
Свойства
| AutoSavepointsEnabled |
Указывает, будет ли точка сохранения транзакции создаваться автоматически, если она вызывается после запуска транзакции вручную с BeginTransaction().SaveChanges() |
| AutoTransactionBehavior |
Возвращает или задает значение, указывающее, будет ли автоматически создана SaveChanges() транзакция, если не были вызваны ни BeginTransaction, ни UseTransaction. |
| AutoTransactionsEnabled |
Устаревшие..
Устаревшие..
Возвращает или задает значение, указывающее, будет ли автоматически создана SaveChanges() транзакция, если ни один из методов BeginTransaction или UseTransaction не был вызван. |
| CurrentTransaction |
Возвращает текущий IDbContextTransaction объект, используемый контекстом, или значение NULL, если транзакция не используется. |
| ProviderName |
Возвращает имя используемого поставщика базы данных. Обычно это имя сборки поставщика. Обычно проще использовать метод сахара, например Microsoft.EntityFrameworkCore.SqlServerDatabaseFacadeExtensions.IsSqlServer , вместо прямого вызова этого метода. |
Методы
| BeginTransaction() |
Запускает новую транзакцию. |
| BeginTransactionAsync(CancellationToken) |
Асинхронно запускает новую транзакцию. |
| CanConnect() |
Определяет, доступна ли база данных и к ней можно подключиться. |
| CanConnectAsync(CancellationToken) |
Определяет, доступна ли база данных и к ней можно подключиться. |
| CommitTransaction() |
Применяет к базе данных невыполненные операции в текущей транзакции. |
| CommitTransactionAsync(CancellationToken) |
Применяет к базе данных невыполненные операции в текущей транзакции. |
| CreateExecutionStrategy() |
Создает экземпляр настроенного IExecutionStrategyобъекта . |
| EnsureCreated() |
Гарантирует, что база данных для контекста существует. |
| EnsureCreatedAsync(CancellationToken) |
Гарантирует, что база данных для контекста существует. |
| EnsureDeleted() |
Гарантирует, что база данных для контекста не существует. Если он не существует, никакие действия не предпринимаются. Если она существует, база данных удаляется. Предупреждение. Удаляется вся база данных, и для удаления только объектов базы данных, используемых моделью для этого контекста, не предпринимается никаких усилий. |
| EnsureDeletedAsync(CancellationToken) |
Асинхронно гарантирует, что база данных для контекста не существует. Если он не существует, никакие действия не предпринимаются. Если она существует, база данных удаляется. Предупреждение. Удаляется вся база данных, и для удаления только объектов базы данных, используемых моделью для этого контекста, не предпринимается никаких усилий. |
| RollbackTransaction() |
Отменяет невыполненные операции в текущей транзакции. |
| RollbackTransactionAsync(CancellationToken) |
Отменяет невыполненные операции в текущей транзакции. |
Явные реализации интерфейса
| IDatabaseFacadeDependenciesAccessor.Context |
Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core. |
| IDatabaseFacadeDependenciesAccessor.Dependencies |
Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core. |
| IInfrastructure<IServiceProvider>.Instance |
Возвращает область, IServiceProvider используемую для разрешения служб. Это свойство предназначено для использования методами расширения, которым необходимо использовать службы, не предоставляемые напрямую в общедоступной области API. |
| IResettableService.ResetState() |
Сбрасывает службу, чтобы ее можно было использовать из пула. |
| IResettableService.ResetStateAsync(CancellationToken) |
Предоставляет доступ к связанной с базой данных информации и операциям для контекста. Экземпляры этого класса обычно получаются из Database и не предназначены для непосредственного создания в коде приложения. |
Методы расширения
| GetCosmosClient(DatabaseFacade) |
Возвращает базовый CosmosClient объект для данного DbContextобъекта . |
| GetCosmosDatabaseId(DatabaseFacade) |
Возвращает имя настроенной базы данных для данного DbContextобъекта . |
| IsCosmos(DatabaseFacade) |
Возвращает значение |
| GetInfrastructure<T>(IInfrastructure<T>) |
Получает значение из свойства, скрытого с помощью IInfrastructure<T>. Этот метод обычно используется поставщиками баз данных (и другими расширениями). Обычно он не используется в коде приложения. |
| IsInMemory(DatabaseFacade) |
Возвращает значение |
| BeginTransaction(DatabaseFacade, IsolationLevel) |
Запускает новую транзакцию с заданным IsolationLevel. |
| BeginTransactionAsync(DatabaseFacade, IsolationLevel, CancellationToken) |
Асинхронно запускает новую транзакцию с заданным IsolationLevel. |
| CloseConnection(DatabaseFacade) |
Закрывает базовый DbConnectionобъект . |
| CloseConnectionAsync(DatabaseFacade) |
Закрывает базовый DbConnectionобъект . |
| ExecuteSql(DatabaseFacade, FormattableString) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>) |
Устаревшие..
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction). Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным. Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указали, будут автоматически преобразованы в DbParameter. Вы также можете использовать ExecuteSqlInterpolated для использования синтаксиса интерполированной строки для создания параметров. |
| ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[]) |
Устаревшие..
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction). Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указываете, будут автоматически преобразованы в DbParameter — |
| ExecuteSqlCommand(DatabaseFacade, FormattableString) |
Устаревшие..
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction). Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указываете, будут автоматически преобразованы в DbParameter — |
| ExecuteSqlCommand(DatabaseFacade, String, Object[]) |
Предоставляет доступ к связанной с базой данных информации и операциям для контекста. Экземпляры этого класса обычно получаются из Database и не предназначены для непосредственного создания в коде приложения. |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, IEnumerable<Object>, CancellationToken) |
Устаревшие..
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction). Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным. Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указали, будут автоматически преобразованы в DbParameter. Вы также можете использовать ExecuteSqlInterpolated для использования синтаксиса интерполированной строки для создания параметров. |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, Object[]) |
Устаревшие..
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction). Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указываете, будут автоматически преобразованы в DbParameter — |
| ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, CancellationToken) |
Устаревшие..
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction). Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL не может быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, чтобы также использовать транзакцию, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все указанные значения параметров будут автоматически преобразованы в DbParameter — |
| ExecuteSqlCommandAsync(DatabaseFacade, FormattableString, CancellationToken) |
Устаревшие..
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction). Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL не может быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, чтобы также использовать транзакцию, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все указанные значения параметров будут автоматически преобразованы в DbParameter — |
| ExecuteSqlCommandAsync(DatabaseFacade, String, CancellationToken, Object[]) |
Предоставляет доступ к связанной с базой данных информации и операциям для контекста. Экземпляры этого класса обычно получаются из Database и не предназначены для непосредственного создания в коде приложения. |
| ExecuteSqlInterpolated(DatabaseFacade, FormattableString) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlInterpolatedAsync(DatabaseFacade, FormattableString, CancellationToken) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
| GenerateCreateScript(DatabaseFacade) |
Создает скрипт для создания всех таблиц для текущей модели. |
| GetAppliedMigrations(DatabaseFacade) |
Возвращает все миграции, примененные к целевой базе данных. |
| GetAppliedMigrationsAsync(DatabaseFacade, CancellationToken) |
Асинхронно получает все миграции, примененные к целевой базе данных. |
| GetCommandTimeout(DatabaseFacade) |
Возвращает время ожидания (в секундах) для команд, выполняемых с помощью этой DbContextфункции . |
| GetConnectionString(DatabaseFacade) |
Возвращает базовый строка подключения, настроенный для данного объекта DbContext. |
| GetDbConnection(DatabaseFacade) |
Возвращает базовый ADO.NET DbConnection для данного DbContextобъекта . |
| GetMigrations(DatabaseFacade) |
Возвращает все миграции, определенные в настроенной сборке миграций. |
| GetPendingMigrations(DatabaseFacade) |
Возвращает все миграции, определенные в сборке, но не примененные к целевой базе данных. |
| GetPendingMigrationsAsync(DatabaseFacade, CancellationToken) |
Асинхронно получает все миграции, определенные в сборке, но не примененные к целевой базе данных. |
| HasPendingModelChanges(DatabaseFacade) |
Возвращает значение |
| IsRelational(DatabaseFacade) |
Возвращает значение |
| Migrate(DatabaseFacade) |
Применяет все ожидающие миграции для контекста к базе данных. Создаст базу данных, если она еще не существует. |
| MigrateAsync(DatabaseFacade, CancellationToken) |
Асинхронно применяет все ожидающие миграции для контекста к базе данных. Создаст базу данных, если она еще не существует. |
| OpenConnection(DatabaseFacade) |
Открывает базовый DbConnectionобъект . |
| OpenConnectionAsync(DatabaseFacade, CancellationToken) |
Открывает базовый DbConnectionобъект . |
| SetCommandTimeout(DatabaseFacade, Nullable<Int32>) |
Задает время ожидания (в секундах), используемое для команд, выполняемых с помощью этой DbContextкоманды . |
| SetCommandTimeout(DatabaseFacade, TimeSpan) |
Задает время ожидания, используемое для команд, выполняемых с помощью этого DbContext. |
| SetConnectionString(DatabaseFacade, String) |
Задает базовый строка подключения, настроенный для этого DbContext. |
| SetDbConnection(DatabaseFacade, DbConnection, Boolean) |
Задает базовый ADO.NET DbConnection для данного объекта DbContext. |
| SetDbConnection(DatabaseFacade, DbConnection) |
Задает базовый ADO.NET DbConnection для данного объекта DbContext. |
| SqlQuery<TResult>(DatabaseFacade, FormattableString) |
Создает запрос LINQ на основе необработанного SQL-запроса, который возвращает результирующий набор скалярного типа, который изначально поддерживается поставщиком базы данных. |
| SqlQueryRaw<TResult>(DatabaseFacade, String, Object[]) |
Создает запрос LINQ на основе необработанного SQL-запроса, который возвращает результирующий набор скалярного типа, который изначально поддерживается поставщиком базы данных. |
| UseTransaction(DatabaseFacade, DbTransaction, Guid) |
Задает объект , используемый DbTransaction операциями базы данных в DbContext. |
| UseTransaction(DatabaseFacade, DbTransaction) |
Задает объект , используемый DbTransaction операциями базы данных в DbContext. |
| UseTransactionAsync(DatabaseFacade, DbTransaction, Guid, CancellationToken) |
Задает объект , используемый DbTransaction операциями базы данных в DbContext. |
| UseTransactionAsync(DatabaseFacade, DbTransaction, CancellationToken) |
Задает объект , используемый DbTransaction операциями базы данных в DbContext. |
| IsSqlite(DatabaseFacade) |
Возвращает значение |
| IsSqlServer(DatabaseFacade) |
Возвращает значение |
| EnlistTransaction(DatabaseFacade, Transaction) |
Указывает существующий Transaction объект , используемый для операций с базой данных. |
| GetEnlistedTransaction(DatabaseFacade) |
Возвращает текущую зачисленную транзакцию. |