Add magazines by machine family.

This commit is contained in:
2019-06-17 04:22:37 +01:00
parent 15a16d2003
commit 082ab487c7
8 changed files with 8284 additions and 4 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,43 @@
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
namespace Cicm.Database.Migrations
{
public partial class AddMagazinesByMachineFamily : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable("MagazinesByMachinesFamilies",
table => new
{
Id = table.Column<long>()
.Annotation("MySql:ValueGenerationStrategy",
MySqlValueGenerationStrategy.IdentityColumn),
MagazineId = table.Column<long>(),
MachineFamilyId = table.Column<int>()
}, constraints: table =>
{
table.PrimaryKey("PK_MagazinesByMachinesFamilies", x => x.Id);
table
.ForeignKey("FK_MagazinesByMachinesFamilies_machine_families_MachineFamilyId",
x => x.MachineFamilyId, "machine_families", "id",
onDelete: ReferentialAction.Cascade);
table
.ForeignKey("FK_MagazinesByMachinesFamilies_MagazineIssues_MagazineId",
x => x.MagazineId, "MagazineIssues", "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex("IX_MagazinesByMachinesFamilies_MachineFamilyId",
"MagazinesByMachinesFamilies", "MachineFamilyId");
migrationBuilder.CreateIndex("IX_MagazinesByMachinesFamilies_MagazineId", "MagazinesByMachinesFamilies",
"MagazineId");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable("MagazinesByMachinesFamilies");
}
}
}

View File

@@ -4541,6 +4541,23 @@ namespace Cicm.Database.Migrations
b.ToTable("MagazinesByMachines"); b.ToTable("MagazinesByMachines");
}); });
modelBuilder.Entity("Cicm.Database.Models.MagazinesByMachineFamily", b =>
{
b.Property<long>("Id").ValueGeneratedOnAdd();
b.Property<int>("MachineFamilyId");
b.Property<long>("MagazineId");
b.HasKey("Id");
b.HasIndex("MachineFamilyId");
b.HasIndex("MagazineId");
b.ToTable("MagazinesByMachinesFamilies");
});
modelBuilder.Entity("Cicm.Database.Models.MemoryByMachine", b => modelBuilder.Entity("Cicm.Database.Models.MemoryByMachine", b =>
{ {
b.Property<long>("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)"); b.Property<long>("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)");
@@ -5758,6 +5775,15 @@ namespace Cicm.Database.Migrations
.HasForeignKey("MagazineId").OnDelete(DeleteBehavior.Cascade); .HasForeignKey("MagazineId").OnDelete(DeleteBehavior.Cascade);
}); });
modelBuilder.Entity("Cicm.Database.Models.MagazinesByMachineFamily", b =>
{
b.HasOne("Cicm.Database.Models.MachineFamily", "MachineFamily").WithMany("Magazines")
.HasForeignKey("MachineFamilyId").OnDelete(DeleteBehavior.Cascade);
b.HasOne("Cicm.Database.Models.MagazineIssue", "Magazine").WithMany("MachineFamilies")
.HasForeignKey("MagazineId").OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("Cicm.Database.Models.MemoryByMachine", modelBuilder.Entity("Cicm.Database.Models.MemoryByMachine",
b => b =>
{ {

View File

@@ -49,5 +49,6 @@ namespace Cicm.Database.Models
public virtual ICollection<Machine> Machines { get; set; } public virtual ICollection<Machine> Machines { get; set; }
public virtual ICollection<DocumentsByMachineFamily> Documents { get; set; } public virtual ICollection<DocumentsByMachineFamily> Documents { get; set; }
public virtual ICollection<BooksByMachineFamily> Books { get; set; } public virtual ICollection<BooksByMachineFamily> Books { get; set; }
public virtual ICollection<MagazinesByMachineFamily> Magazines { get; set; }
} }
} }

View File

@@ -18,8 +18,9 @@ namespace Cicm.Database.Models
public string ProductCode { get; set; } public string ProductCode { get; set; }
public short Pages { get; set; } public short Pages { get; set; }
public virtual Magazine Magazine { get; set; } public virtual Magazine Magazine { get; set; }
public virtual ICollection<PeopleByMagazine> People { get; set; } public virtual ICollection<PeopleByMagazine> People { get; set; }
public virtual ICollection<MagazinesByMachine> Machines { get; set; } public virtual ICollection<MagazinesByMachine> Machines { get; set; }
public virtual ICollection<MagazinesByMachineFamily> MachineFamilies { get; set; }
} }
} }

View File

@@ -0,0 +1,11 @@
namespace Cicm.Database.Models
{
public class MagazinesByMachineFamily : BaseModel<long>
{
public long MagazineId { get; set; }
public int MachineFamilyId { get; set; }
public virtual MagazineIssue Magazine { get; set; }
public virtual MachineFamily MachineFamily { get; set; }
}
}

View File

@@ -95,6 +95,7 @@ namespace Cicm.Database.Models
public virtual DbSet<CompaniesByMagazine> CompaniesByMagazines { get; set; } public virtual DbSet<CompaniesByMagazine> CompaniesByMagazines { get; set; }
public virtual DbSet<PeopleByMagazine> PeopleByMagazines { get; set; } public virtual DbSet<PeopleByMagazine> PeopleByMagazines { get; set; }
public virtual DbSet<MagazinesByMachine> MagazinesByMachines { get; set; } public virtual DbSet<MagazinesByMachine> MagazinesByMachines { get; set; }
public virtual DbSet<MagazinesByMachineFamily> MagazinesByMachinesFamilies { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{ {
@@ -915,6 +916,17 @@ namespace Cicm.Database.Models
entity.HasOne(d => d.Machine).WithMany(p => p.Magazines).HasForeignKey(d => d.MachineId); entity.HasOne(d => d.Machine).WithMany(p => p.Magazines).HasForeignKey(d => d.MachineId);
}); });
modelBuilder.Entity<MagazinesByMachineFamily>(entity =>
{
entity.HasIndex(e => e.MagazineId);
entity.HasIndex(e => e.MachineFamilyId);
entity.HasOne(d => d.Magazine).WithMany(p => p.MachineFamilies).HasForeignKey(d => d.MagazineId);
entity.HasOne(d => d.MachineFamily).WithMany(p => p.Magazines).HasForeignKey(d => d.MachineFamilyId);
});
modelBuilder.Entity<MemoryByMachine>(entity => modelBuilder.Entity<MemoryByMachine>(entity =>
{ {
entity.ToTable("memory_by_machine"); entity.ToTable("memory_by_machine");

View File

@@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework> <TargetFramework>netcoreapp2.2</TargetFramework>
<Version>3.0.99.835</Version> <Version>3.0.99.836</Version>
<Company>Canary Islands Computer Museum</Company> <Company>Canary Islands Computer Museum</Company>
<Copyright>Copyright © 2003-2018 Natalia Portillo</Copyright> <Copyright>Copyright © 2003-2018 Natalia Portillo</Copyright>
<Product>Canary Islands Computer Museum Website</Product> <Product>Canary Islands Computer Museum Website</Product>