using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; using Singer_Hexdive.Models; using System.IO; namespace Singer_Hexdive { public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions options) : base(options) { } public DbSet IdentificationTypes { get; set; } public DbSet MerchantBankDetails { get; set; } public DbSet MerchantBusinessDetail { get; set; } public DbSet MerchantPersonalDetail { get; set; } public DbSet MerchantShareHolders { get; set; } public DbSet MerchantDirectors { get; set; } } public class ApplicationDbContextFactory : IDesignTimeDbContextFactory { public ApplicationDbContext CreateDbContext(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false) .Build(); var optionsBuilder = new DbContextOptionsBuilder(); var connectionString = config.GetConnectionString("DefaultConnection"); optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)); return new ApplicationDbContext(optionsBuilder.Options); } } }