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); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }