Основные методы применения ожидающих миграций в проекте .NET

При работе с проектом.NET, в котором используется миграция базы данных, крайне важно применить все ожидающие миграции перед запуском проекта. Это гарантирует актуальность схемы базы данных и соответствие последним изменениям в вашей кодовой базе. В этой статье мы рассмотрим несколько методов применения ожидающих миграций в проекте.NET, сопровождаемые примерами кода. Давайте погрузимся!

Метод 1: интерфейс командной строки (CLI) — обновление базы данных dotnet ef
Инструмент CLI Entity Framework Core (EF Core) обеспечивает простой способ применения ожидающих миграций. Откройте командную строку или окно терминала, перейдите в каталог проекта и выполните следующую команду:

dotnet ef database update

Эта команда применяет все ожидающие миграции к целевой базе данных.

Метод 2. Программное применение миграции – DbContext.Database.Migrate()
Если вы хотите программно применить ожидающие миграции в своем коде.NET, вы можете использовать метод Migrate(), доступный в DbContextкласс. Вот пример того, как его использовать:

using Microsoft.EntityFrameworkCore;
// ...
public class MyDbContext : DbContext
{
    // ...
    public void ApplyMigrations()
    {
        Database.Migrate();
    }
}

При вызове ApplyMigrations()на вашем экземпляре DbContextбудут применены ожидающие миграции.

Метод 3: Конфигурация запуска — SureDatabaseCreated() и ОбеспечениеMigrated()
Если вы используете ASP.NET Core, вы можете воспользоваться преимуществами EnsureDatabaseCreated()и EnsureMigrated()в методе Configure()вашего стартового класса. Вот пример:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.EntityFrameworkCore;
// ...
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<MyDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    }
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env, MyDbContext dbContext)
    {
        // ...
        dbContext.Database.EnsureCreated();
        dbContext.Database.Migrate();
        // ...
    }
}

Вызывая EnsureCreated()и Migrate()в контексте базы данных в методе Configure(), вы гарантируете, что база данных создана (если это не так). t существует) и применяются все ожидающие миграции.

В этой статье мы рассмотрели три метода применения ожидающих миграций в проекте.NET. Независимо от того, предпочитаете ли вы использовать интерфейс командной строки, программно применять миграции или включать миграции в конфигурацию запуска, эти методы помогут вам поддерживать схему базы данных в актуальном состоянии. Будьте внимательны при выполнении миграции, чтобы обеспечить бесперебойную и безошибочную работу вашего проекта.NET.