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 options) : base(options) { } public virtual DbSet EfmigrationsLocks { get; set; } public virtual DbSet Events { get; set; } public virtual DbSet Galleries { get; set; } public virtual DbSet Permissions { get; set; } public virtual DbSet Persons { get; set; } public virtual DbSet Photos { get; set; } public virtual DbSet Rankings { get; set; } public virtual DbSet Roles { get; set; } public virtual DbSet SocialMedia { get; set; } public virtual DbSet Tags { get; set; } public virtual DbSet Users { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(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); }