DatabaseFacade.EnsureCreated 方法

定义

确保上下文的数据库存在。

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 管理数据库 架构。

适用于