using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.EntityFrameworkCore.Migrations.Design;
using Microsoft.Extensions.DependencyInjection;
public static void Main()
AddMigration("InitCreate");
Console.WriteLine("Hello World");
public static void AddMigration(string migrationName)
var projectDir = Directory.GetCurrentDirectory();
var rootNamespace = "ConsoleApp1";
var outputDir = "Migraitons";
var db = new MyDbContext();
var serviceCollection = new ServiceCollection();
serviceCollection.AddEntityFrameworkDesignTimeServices();
serviceCollection.AddDbContextDesignTimeServices(db);
var serviceProvider = serviceCollection.BuildServiceProvider();
var migrationsScaffolder = serviceProvider.GetService<IMigrationsScaffolder>();
var migration = migrationsScaffolder.ScaffoldMigration(migrationName, rootNamespace);
migrationsScaffolder.Save(projectDir, migration, outputDir);
internal class MyDbContext : DbContext
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite("Data Source=test.db");