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) |
异步确定数据库是否包含任何表。 不会尝试确定表是否属于当前模型。 |