66 lines
2.1 KiB
C#
66 lines
2.1 KiB
C#
using back.DataModels;
|
|
using back.persistance.data.relations;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace back.persistance.data;
|
|
|
|
public partial class DataContext : DbContext
|
|
{
|
|
public DataContext() { }
|
|
public DataContext(DbContextOptions<DataContext> options) : base(options) { }
|
|
|
|
public virtual DbSet<EfmigrationsLock> EfmigrationsLocks { get; set; }
|
|
|
|
public virtual DbSet<Event> Events { get; set; }
|
|
|
|
public virtual DbSet<Gallery> Galleries { get; set; }
|
|
|
|
public virtual DbSet<Permission> Permissions { get; set; }
|
|
|
|
public virtual DbSet<Person> Persons { get; set; }
|
|
|
|
public virtual DbSet<Photo> Photos { get; set; }
|
|
|
|
public virtual DbSet<Ranking> Rankings { get; set; }
|
|
|
|
public virtual DbSet<Role> Roles { get; set; }
|
|
|
|
public virtual DbSet<SocialMedia> SocialMedia { get; set; }
|
|
|
|
public virtual DbSet<Tag> Tags { get; set; }
|
|
|
|
public virtual DbSet<User> Users { get; set; }
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<EfmigrationsLock>(entity =>
|
|
{
|
|
entity.ToTable("__EFMigrationsLock");
|
|
|
|
entity.Property(e => e.Id).ValueGeneratedNever();
|
|
});
|
|
|
|
typeof(IRelationEstablisher).Assembly.GetExportedTypes()
|
|
.Where(t => typeof(IRelationEstablisher).IsAssignableFrom(t) && !t.IsInterface && !t.IsAbstract)
|
|
.ToList()
|
|
.ForEach(seederType =>
|
|
{
|
|
var relationEstablisher = (IRelationEstablisher?)Activator.CreateInstance(seederType);
|
|
relationEstablisher?.EstablishRelation(modelBuilder);
|
|
});
|
|
|
|
//typeof(ISeeder).Assembly.GetExportedTypes()
|
|
// .Where(t => typeof(ISeeder).IsAssignableFrom(t) && !t.IsInterface && !t.IsAbstract)
|
|
// .ToList()
|
|
// .ForEach(seederType =>
|
|
// {
|
|
// var seeder = (ISeeder?)Activator.CreateInstance(seederType);
|
|
// seeder?.Seed(modelBuilder);
|
|
// });
|
|
|
|
OnModelCreatingPartial(modelBuilder);
|
|
}
|
|
|
|
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
|
}
|