Поделиться через


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)
Устаревшие..

Инициализирует новый экземпляр класса RelationalDatabaseCreator.

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory)

Инициализирует новый экземпляр класса 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 может быть изменен или удален.

Применяется к