using System.IO; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; namespace Himp.TaskScheduling.EntityFrameworkCore; public class TaskSchedulingHttpApiHostMigrationsDbContextFactory : IDesignTimeDbContextFactory { public TaskSchedulingHttpApiHostMigrationsDbContext CreateDbContext(string[] args) { var configuration = BuildConfiguration(); var builder = new DbContextOptionsBuilder() .UseSqlServer(configuration.GetConnectionString("TaskScheduling")); return new TaskSchedulingHttpApiHostMigrationsDbContext(builder.Options); } private static IConfigurationRoot BuildConfiguration() { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false); return builder.Build(); } }