138 lines
4.5 KiB
C#

using DAL.Models;
using DAL.Models.Audits;
using Microsoft.EntityFrameworkCore;
namespace DAL.Contexts
{
public class SASGContext : DbContext
{
public SASGContext()
{
}
public SASGContext(DbContextOptions<SASGContext> options) : base(options)
{
}
public virtual DbSet<Color> colors { get; set; }
public virtual DbSet<Event> events { get; set; }
public virtual DbSet<Grant> grants { get; set; }
public virtual DbSet<Image> images { get; set; }
public virtual DbSet<Permission> permissions { get; set; }
public virtual DbSet<SavedEvent> savedEvents { get; set; }
public virtual DbSet<User> users { get; set; }
public virtual DbSet<AuditColor> auditColors { get; set; }
public virtual DbSet<AuditEvent> auditEvents { get; set; }
public virtual DbSet<AuditGrant> auditGrants { get; set; }
public virtual DbSet<AuditImage> auditImages { get; set; }
public virtual DbSet<AuditPermission> auditPermissions { get; set; }
public virtual DbSet<AuditSavedEvent> auditSavedEvents { get; set; }
public virtual DbSet<AuditUser> auditUsers { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<Color>(entity =>
{
entity.HasOne(e => e.updaterRelation).WithMany()
.HasForeignKey(e => e.updater).HasConstraintName("colors_users_id_fk");
});
builder.Entity<Event>(entity =>
{
entity.HasOne(e => e.bgColorRelation).WithMany()
.HasForeignKey(e => e.bgColorId).HasConstraintName("events_colors_id_fk");
entity.HasOne(e => e.fgColorRelation).WithMany()
.HasForeignKey(e => e.fgColorId).HasConstraintName("events_colors_id_fk_2");
entity.HasOne(e => e.imageRelation).WithMany()
.HasForeignKey(e => e.imageId).HasConstraintName("events_images_id_fk");
entity.HasOne(e => e.savedEventRelation).WithMany()
.HasForeignKey(e => e.savedEventId).HasConstraintName("events_savedEvent_id_fk");
entity.HasOne(e => e.updaterRelation).WithMany()
.HasForeignKey(e => e.updater).HasConstraintName("events_users_id_fk");
});
builder.Entity<Grant>(entity =>
{
entity.HasOne(e => e.permissionRelation).WithMany()
.HasForeignKey(e => e.permissionId).HasConstraintName("grants_permissions_id_fk");
entity.HasOne(e => e.updaterRelation).WithMany()
.HasForeignKey(e => e.updater).HasConstraintName("grants_users_id_fk");
});
builder.Entity<Image>(entity =>
{
entity.HasOne(e => e.updaterRelation).WithMany()
.HasForeignKey(e => e.updater).HasConstraintName("grants_users_id_fk");
});
builder.Entity<Permission>(entity =>
{
entity.HasOne(e => e.updaterRelation).WithMany()
.HasForeignKey(e => e.updater).HasConstraintName("grants_users_id_fk");
});
builder.Entity<SavedEvent>(entity =>
{
entity.HasOne(e => e.bgColorRelation).WithMany()
.HasForeignKey(e => e.bgColorId).HasConstraintName("events_colors_id_fk");
entity.HasOne(e => e.fgColorRelation).WithMany()
.HasForeignKey(e => e.fgColorId).HasConstraintName("events_colors_id_fk_2");
entity.HasOne(e => e.imageRelation).WithMany()
.HasForeignKey(e => e.imageId).HasConstraintName("events_images_id_fk");
entity.HasOne(e => e.updaterRelation).WithMany()
.HasForeignKey(e => e.updater).HasConstraintName("events_users_id_fk");
});
builder.Entity<User>(entity =>
{
entity.HasOne(e => e.updaterRelation).WithMany()
.HasForeignKey(e => e.updater).HasConstraintName("events_users_id_fk");
});
builder.Entity<AuditColor>(entity =>
{
entity.HasOne<Color>().WithMany(e => e.audits)
.HasForeignKey(e => e.originalId).IsRequired();
});
builder.Entity<AuditEvent>(entity =>
{
entity.HasOne<Event>().WithMany(e => e.audits)
.HasForeignKey(e => e.originalId).IsRequired();
});
builder.Entity<AuditGrant>(entity =>
{
entity.HasOne<Grant>().WithMany(e => e.audits)
.HasForeignKey(e => e.originalId).IsRequired();
});
builder.Entity<AuditImage>(entity =>
{
entity.HasOne<Image>().WithMany(e => e.audits)
.HasForeignKey(e => e.originalId).IsRequired();
});
builder.Entity<AuditPermission>(entity =>
{
entity.HasOne<Permission>().WithMany(e => e.audits)
.HasForeignKey(e => e.originalId).IsRequired();
});
builder.Entity<AuditSavedEvent>(entity =>
{
entity.HasOne<SavedEvent>().WithMany(e => e.audits)
.HasForeignKey(e => e.originalId).IsRequired();
});
builder.Entity<AuditUser>(entity =>
{
entity.HasOne<User>().WithMany(e => e.audits)
.HasForeignKey(e => e.originalId).IsRequired();
});
}
}
}