Code-First migration and Database-First migration

Code-First migration

MVC projektile on vaja lisada EFCore, EFCore.Sqlite, EFCore.Tools

Siis models kausta sisse on vaja teha klassi, see on tulevikus andmebaasi tabel.

Edasi on vaja looma Data kausta ja seale looma “DbContext” classi, see on klass, mis loob andmebaasi

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> options)
        : base(options)
    {
    }

    public DbSet<Employee> Employees { get; set; }
    public DbSet<Student> Students { get; set; }
}

Siis on vaja teha migratsiooni, selleks on vaja “Package Manager Tools”is kirjutada “add migration init”, ja pärast “update database”.

Database-First

Selleks on vaja veel ühe package – EFCore.Design

“appsettings.json”is lisada “ConnectionString”

“ConnectionStrings”: {
“DefaultConnection”: “Server=(localdb)\MSSQLLocalDB;Database=DBName;Trusted_Connection=true;MultipleActiveResultSets=true;TrustServerCertificate=True;”
}

Siis “Package Manager Tools”is kirjutada

Scaffold-DbContext “Server=.\SQLEXPRESS;Database=DBName;Trusted_Connection=true;MultipleActiveResultSets=true;TrustServerCertificate=True” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models