namespace ASC.Core.Common.EF; public class MySqlCoreDbContext : CoreDbContext { } public class PostgreSqlCoreDbContext : CoreDbContext { } public class CoreDbContext : BaseDbContext { public DbSet Tariffs { get; set; } public DbSet Buttons { get; set; } public DbSet Quotas { get; set; } public DbSet QuotaRows { get; set; } protected override Dictionary> ProviderContext { get { return new Dictionary>() { { Provider.MySql, () => new MySqlCoreDbContext() } , { Provider.PostgreSql, () => new PostgreSqlCoreDbContext() } , }; } } protected override void OnModelCreating(ModelBuilder modelBuilder) { ModelBuilderWrapper .From(modelBuilder, Provider) .AddDbButton() .AddDbQuotaRow() .AddDbQuota() .AddDbTariff(); } }