using System.Collections; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata; using TOOHUCardAPI.Data.Models; using TOOHUCardAPI.Data.Models.ModelBuilders; using TOOHUCardAPI.Data.Seeders; namespace TOOHUCardAPI.Data { public class AppDbContext : DbContext { public DbSet Users { get; set; } public DbSet Cards { get; set; } private readonly IEnumerable _seeders = new List { new CardSeeder() }; private readonly IEnumerable _modelBuilders = new List { new CardLevelModelBuilder() }; public AppDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); foreach (var builder in _modelBuilders) { builder.BuildModel(modelBuilder); } foreach (var seeder in _seeders) { seeder.SeedData(modelBuilder); } } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); } } }