Files
API/TOOHUCardAPI/Data/AppDbContext.cs

48 lines
1.3 KiB
C#

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<User> Users { get; set; }
public DbSet<Card> Cards { get; set; }
private readonly IEnumerable<ISeeder> _seeders = new List<ISeeder>
{
new CardSeeder()
};
private readonly IEnumerable<IModelBuilder> _modelBuilders = new List<IModelBuilder>
{
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);
}
}
}