RelationalDatabaseCreator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
执行数据库/架构创建和其他相关操作。
此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。
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 实例都将使用此服务自己的实例。 实现可能依赖于使用任何生存期注册的其他服务。 实现不需要是线程安全的。
有关详细信息 和示例,请参阅数据库提供程序和扩展的实现 。
构造函数
属性
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。 |