Add software families.

This commit is contained in:
2020-06-11 18:51:58 +01:00
parent b064b2c701
commit 41daba0aa5
10 changed files with 9909 additions and 2042 deletions

View File

@@ -119,6 +119,7 @@ namespace Marechai.Database.Models
public virtual DbSet<MediaDumpTrackImage> MediaDumpTrackImages { get; set; }
public virtual DbSet<MediaFile> MediaFiles { get; set; }
public virtual DbSet<Dump> Dumps { get; set; }
public virtual DbSet<SoftwareFamily> SoftwareFamilies { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
@@ -1809,6 +1810,26 @@ namespace Marechai.Database.Models
entity.HasOne(e => e.Media).WithMany(e => e.Dumps).OnDelete(DeleteBehavior.Cascade);
entity.HasOne(e => e.MediaDump).WithMany(e => e.Dumps).OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity<SoftwareFamily>(entity =>
{
entity.HasIndex(e => e.Name);
entity.HasIndex(e => e.Introduced);
entity.HasOne(e => e.Parent).WithMany(e => e.Children).OnDelete(DeleteBehavior.SetNull);
});
modelBuilder.Entity<CompaniesBySoftwareFamily>(entity =>
{
entity.HasOne(d => d.Company).WithMany(p => p.SoftwareFamilies).OnDelete(DeleteBehavior.Cascade);
entity.HasOne(d => d.SoftwareFamily).WithMany(p => p.Companies).OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity<PeopleBySoftwareFamily>(entity =>
{
entity.HasOne(d => d.Person).WithMany(p => p.SoftwareFamilies).OnDelete(DeleteBehavior.Cascade);
entity.HasOne(d => d.SoftwareFamily).WithMany(p => p.People).OnDelete(DeleteBehavior.Cascade);
});
}
}
}