IDatabaseCreator 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为给定的数据库提供程序创建和删除数据库。
此接口通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。
public interface IDatabaseCreator
type IDatabaseCreator = interface
Public Interface IDatabaseCreator
- 派生
注解
服务生存期为 Scoped。 这意味着每个 DbContext 实例都将使用此服务自己的实例。 实现可能依赖于注册到任何生存期的其他服务。 实现不需要线程安全。
有关详细信息和示例,请参阅 数据库提供程序和扩展的实现 。
方法
| 名称 | 说明 |
|---|---|
| CanConnect() |
确定数据库是否可用且可连接到。 |
| CanConnectAsync(CancellationToken) |
确定数据库是否可用且可连接到。 |
| EnsureCreated() |
确保上下文的数据库存在。 如果存在,则不执行任何操作。 如果该数据库不存在,则会创建数据库及其所有架构。 如果数据库存在,则不会尽一切努力确保它与此上下文的模型兼容。 |
| EnsureCreatedAsync(CancellationToken) |
异步确保上下文的数据库存在。 如果存在,则不执行任何操作。 如果该数据库不存在,则会创建数据库及其所有架构。 如果数据库存在,则不会尽一切努力确保它与此上下文的模型兼容。 |
| EnsureDeleted() |
确保上下文的数据库不存在。 如果不存在,则不执行任何操作。 如果它确实存在,则会删除数据库。 警告:删除了整个数据库,并且不努力仅删除模型用于此上下文的数据库对象。 |
| EnsureDeletedAsync(CancellationToken) |
异步确保上下文的数据库不存在。 如果不存在,则不执行任何操作。 如果它确实存在,则会删除数据库。 警告:删除了整个数据库,并且不努力仅删除模型用于此上下文的数据库对象。 |