38 lines
1.5 KiB
C#
38 lines
1.5 KiB
C#
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<ApplicationDbContext> options) : base(options) { }
|
|
|
|
public DbSet<IdentificationType> IdentificationTypes { get; set; }
|
|
public DbSet<MerchantBankDetails> MerchantBankDetails { get; set; }
|
|
public DbSet<MerchantBusinessDetail> MerchantBusinessDetail { get; set; }
|
|
public DbSet<MerchantPersonalDetail> MerchantPersonalDetail { get; set; }
|
|
public DbSet<MerchantShareHolders> MerchantShareHolders { get; set; }
|
|
public DbSet<MerchantDirectors> MerchantDirectors { get; set; }
|
|
}
|
|
|
|
public class ApplicationDbContextFactory : IDesignTimeDbContextFactory<ApplicationDbContext>
|
|
{
|
|
public ApplicationDbContext CreateDbContext(string[] args)
|
|
{
|
|
var config = new ConfigurationBuilder()
|
|
.SetBasePath(Directory.GetCurrentDirectory())
|
|
.AddJsonFile("appsettings.json", optional: false)
|
|
.Build();
|
|
|
|
var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
|
|
var connectionString = config.GetConnectionString("DefaultConnection");
|
|
optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString));
|
|
|
|
return new ApplicationDbContext(optionsBuilder.Options);
|
|
}
|
|
}
|
|
}
|