DatabaseFacade.EnsureCreated 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确保上下文的数据库存在。
public virtual bool EnsureCreated ();
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Migrations operations require building the design-time model which is not supported with NativeAOT Use a migration bundle or an alternate way of executing migration operations.")]
public virtual bool EnsureCreated ();
abstract member EnsureCreated : unit -> bool
override this.EnsureCreated : unit -> bool
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Migrations operations require building the design-time model which is not supported with NativeAOT Use a migration bundle or an alternate way of executing migration operations.")>]
abstract member EnsureCreated : unit -> bool
override this.EnsureCreated : unit -> bool
Public Overridable Function EnsureCreated () As Boolean
返回
true
如果已创建数据库, false
则为 。如果数据库已存在,则为 。
- 属性
注解
- 如果数据库存在并且包含任何表,则不执行任何操作。 没有执行任何操作来确保数据库架构与实体框架模型兼容。
- 如果数据库存在但没有任何表,则使用 Entity Framework 模型创建数据库架构。
- 如果数据库不存在,则会创建数据库,并使用 Entity Framework 模型创建数据库架构。
使用 Entity Framework 进行测试或制作原型时,通常立即使用 EnsureCreated() 以下 EnsureDeleted() 代码。 这可确保数据库在每次执行测试/原型之前处于干净状态。 但请注意,数据库中的数据不会保留。
请注意,此 API 不会使用迁移来创建数据库。 此外,以后无法使用迁移来更新所创建的数据库。 如果以关系数据库为目标并使用迁移,则可以使用 Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate 来确保使用迁移创建数据库,并且已应用所有迁移。
有关详细信息和示例 ,请参阅使用 EF Core 和 数据库创建 API 管理数据库 架构。