48 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
} |