IRelationalDatabaseCreator 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
执行数据库/架构创建和其他相关操作。
此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。
public interface IRelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator
type IRelationalDatabaseCreator = interface
interface IDatabaseCreator
Public Interface IRelationalDatabaseCreator
Implements IDatabaseCreator
- 派生
- 实现
注解
服务生存期为 Scoped。 这意味着每个 DbContext 实例都将使用此服务自己的实例。 实现可能依赖于使用任何生存期注册的其他服务。 实现不需要是线程安全的。
有关详细信息 和示例,请参阅数据库提供程序和扩展的实现 。
方法
CanConnect() |
确定数据库是否可用以及是否可以连接到。 (继承自 IDatabaseCreator) |
CanConnectAsync(CancellationToken) |
确定数据库是否可用以及是否可以连接到。 (继承自 IDatabaseCreator) |
Create() |
创建物理数据库。 不要尝试使用任何架构填充它。 |
CreateAsync(CancellationToken) |
异步创建物理数据库。 不要尝试使用任何架构填充它。 |
CreateTables() |
为数据库中的当前模型创建所有表。 不会尝试以增量方式更新架构。 假定数据库中不存在任何表。 |
CreateTablesAsync(CancellationToken) |
异步为数据库中的当前模型创建所有表。 不会尝试以增量方式更新架构。 假定数据库中不存在任何表。 |
Delete() |
删除物理数据库。 |
DeleteAsync(CancellationToken) |
异步删除物理数据库。 |
EnsureCreated() |
确保上下文的数据库存在。 如果存在,则不需要任何操作。 如果不存在,则会创建数据库及其所有架构。 如果数据库存在,则无需努力确保它与此上下文的模型兼容。 (继承自 IDatabaseCreator) |
EnsureCreatedAsync(CancellationToken) |
异步确保上下文的数据库存在。 如果存在,则不需要任何操作。 如果不存在,则会创建数据库及其所有架构。 如果数据库存在,则无需努力确保它与此上下文的模型兼容。 (继承自 IDatabaseCreator) |
EnsureDeleted() |
确保上下文的数据库不存在。 如果不存在,则不执行任何操作。 如果该数据库确实存在,则删除该数据库。 警告:删除整个数据库时,无需再删除模型用于此上下文的数据库对象。 (继承自 IDatabaseCreator) |
EnsureDeletedAsync(CancellationToken) |
异步确保上下文的数据库不存在。 如果不存在,则不执行任何操作。 如果该数据库确实存在,则删除该数据库。 警告:删除整个数据库时,无需再删除模型用于此上下文的数据库对象。 (继承自 IDatabaseCreator) |
Exists() |
确定物理数据库是否存在。 未尝试确定数据库是否包含当前模型的架构。 |
ExistsAsync(CancellationToken) |
异步确定物理数据库是否存在。 未尝试确定数据库是否包含当前模型的架构。 |
GenerateCreateScript() |
生成一个脚本,用于为当前模型创建所有表。 |
HasTables() |
确定数据库是否包含任何表。 不尝试确定表是否属于当前模型。 |
HasTablesAsync(CancellationToken) |
异步确定数据库是否包含任何表。 不尝试确定表是否属于当前模型。 |