Поделиться через


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 для создания схемы базы данных.

При тестировании или создании прототипов с помощью Entity Framework обычно используются EnsureCreated() сразу после EnsureDeleted() . Это гарантирует, что база данных находится в чистом состоянии перед каждым выполнением теста или прототипа. Однако обратите внимание, что данные в базе данных не сохраняются.

Обратите внимание, что этот API **not** использует миграции для создания базы данных. Кроме того, созданную базу данных нельзя обновить позже с помощью миграций. Если вы нацелены на реляционную базу данных и используете миграции, можно использовать, Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate чтобы убедиться, что база данных создана с помощью миграций и что все миграции были применены.

Дополнительные сведения и примеры см. в статье Управление схемами баз данных с помощью EF Core и API создания базы данных .

Применяется к