RelationalDatabaseCreator Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет создание базы данных или схемы и другие связанные операции.
Этот тип обычно используется поставщиками баз данных (и другими расширениями). Обычно он не используется в коде приложения.
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite, Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreatorWithCanConnect, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
interface IServiceInjectionSite
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
interface IDatabaseCreatorWithCanConnect
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator, IServiceInjectionSite
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreatorWithCanConnect, IRelationalDatabaseCreator
- Наследование
-
RelationalDatabaseCreator
- Реализации
-
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect
Комментарии
Время существования службы — Scoped. Это означает, что каждый DbContext экземпляр будет использовать собственный экземпляр этой службы. Реализация может зависеть от других служб, зарегистрированных с любым временем существования. Реализация не обязательно должна быть потокобезопасной.
Дополнительные сведения и примеры см. в разделе Реализация поставщиков и расширений баз данных .
Конструкторы
RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory) |
Инициализирует новый экземпляр класса RelationalDatabaseCreator. |
RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor) |
Устаревшие..
Инициализирует новый экземпляр класса RelationalDatabaseCreator. |
RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies) |
Инициализирует новый экземпляр класса RelationalDatabaseCreator. |
Свойства
Connection |
Возвращает соединение для базы данных. |
Dependencies |
Зависящие от поставщика реляционные зависимости для этой службы. |
ExecutionStrategyFactory |
Возвращает используемый IExecutionStrategyFactory объект . |
MigrationCommandExecutor |
Возвращает используемый IMigrationCommandExecutor объект . |
Model |
Возвращает модель для контекста, с которым используется этот создатель. |
Методы
CanConnect() |
Определяет, доступна ли база данных и к ней можно подключиться. |
CanConnectAsync(CancellationToken) |
Определяет, доступна ли база данных и к ней можно подключиться. |
Create() |
Создает физическую базу данных. Не пытается заполнить его какой-либо схемой. |
CreateAsync(CancellationToken) |
Асинхронно создает физическую базу данных. Не пытается заполнить его какой-либо схемой. |
CreateTables() |
Создает все таблицы для текущей модели в базе данных. Попытка постепенного обновления схемы не выполняется. Предполагается, что ни одна из таблиц не существует в базе данных. |
CreateTablesAsync(CancellationToken) |
Асинхронно создает все таблицы для текущей модели в базе данных. Попытка постепенного обновления схемы не выполняется. Предполагается, что ни одна из таблиц не существует в базе данных. |
Delete() |
Удаляет физическую базу данных. |
DeleteAsync(CancellationToken) |
Асинхронно удаляет физическую базу данных. |
EnsureCreated() |
Гарантирует, что база данных для контекста существует. Если контекст существует, никаких действий не предпринимается. Если она не существует, создается база данных и вся ее схема. Если база данных существует, то не предпринимается никаких усилий для обеспечения ее совместимости с моделью для этого контекста. |
EnsureCreatedAsync(CancellationToken) |
Асинхронно гарантирует, что база данных для контекста существует. Если контекст существует, никаких действий не предпринимается. Если она не существует, создается база данных и вся ее схема. Если база данных существует, то не предпринимается никаких усилий для обеспечения ее совместимости с моделью для этого контекста. |
EnsureDeleted() |
Гарантирует, что база данных для контекста не существует. Если он не существует, никакие действия не предпринимаются. Если она существует, база данных удаляется. Предупреждение. Удаляется вся база данных, и для удаления только объектов базы данных, используемых моделью для этого контекста, не предпринимается никаких усилий. |
EnsureDeletedAsync(CancellationToken) |
Асинхронно гарантирует, что база данных для контекста не существует. Если он не существует, никакие действия не предпринимаются. Если она существует, база данных удаляется. Предупреждение. Удаляется вся база данных, и для удаления только объектов базы данных, используемых моделью для этого контекста, не предпринимается никаких усилий. |
Exists() |
Определяет, существует ли физическая база данных. Не предпринимается никаких попыток определить, содержит ли база данных схему для текущей модели. |
ExistsAsync(CancellationToken) |
Асинхронно определяет, существует ли физическая база данных. Не предпринимается никаких попыток определить, содержит ли база данных схему для текущей модели. |
GenerateCreateScript() |
Создает скрипт для создания всех таблиц для текущей модели. |
GetCreateTablesCommands() |
Возвращает команды, которые создают все таблицы из модели. |
GetCreateTablesCommands(MigrationsSqlGenerationOptions) |
Возвращает команды, которые создают все таблицы из модели. |
HasTables() |
Определяет, содержит ли база данных какие-либо таблицы. Не предпринимается никаких попыток определить, принадлежат ли таблицы текущей модели. |
HasTablesAsync(CancellationToken) |
Асинхронно определяет, содержит ли база данных какие-либо таблицы. Не предпринимается никаких попыток определить, принадлежат ли таблицы текущей модели. |
Явные реализации интерфейса
IServiceInjectionSite.InjectServices(IServiceProvider) |
Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален. |
Применяется к
Entity Framework