//
using System;
using DatabaseImplement;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace DatabaseImplement.Migrations
{
[DbContext(typeof(FactoryGoWorkDatabase))]
[Migration("20240501121257_addtimeforguarantor")]
partial class addtimeforguarantor
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.29")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
modelBuilder.Entity("DatabaseImplement.Models.Detail", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Cost")
.HasColumnType("float");
b.Property("DateCreate")
.HasColumnType("datetime2");
b.Property("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("Details");
});
modelBuilder.Entity("DatabaseImplement.Models.DetailProduct", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Count")
.HasColumnType("int");
b.Property("DetailId")
.HasColumnType("int");
b.Property("ProductId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("DetailId");
b.HasIndex("ProductId");
b.ToTable("DetailProducts");
});
modelBuilder.Entity("DatabaseImplement.Models.DetailProduction", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("DetailId")
.HasColumnType("int");
b.Property("ProductionId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("DetailId");
b.HasIndex("ProductionId");
b.ToTable("DetailProductions");
});
modelBuilder.Entity("DatabaseImplement.Models.Guarantor", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Login")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Guarantors");
});
modelBuilder.Entity("DatabaseImplement.Models.Implementer", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Login")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Implementers");
});
modelBuilder.Entity("DatabaseImplement.Models.Machine", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Country")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("DateCreate")
.HasColumnType("datetime2");
b.Property("Title")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("Machines");
});
modelBuilder.Entity("DatabaseImplement.Models.Product", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Cost")
.HasColumnType("float");
b.Property("MachineId")
.HasColumnType("int");
b.Property("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("MachineId");
b.HasIndex("UserId");
b.ToTable("Products");
});
modelBuilder.Entity("DatabaseImplement.Models.Production", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Cost")
.HasColumnType("float");
b.Property("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("Productions");
});
modelBuilder.Entity("DatabaseImplement.Models.Worker", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Birthday")
.HasColumnType("datetime2");
b.Property("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Salary")
.HasColumnType("float");
b.Property("Specialization")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("Workers");
});
modelBuilder.Entity("DatabaseImplement.Models.WorkerMachine", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("MachineId")
.HasColumnType("int");
b.Property("WorkerId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("MachineId");
b.HasIndex("WorkerId");
b.ToTable("WorkerMachines");
});
modelBuilder.Entity("DatabaseImplement.Models.WorkerWorkshop", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("WorkerId")
.HasColumnType("int");
b.Property("WorkshopId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("WorkerId");
b.HasIndex("WorkshopId");
b.ToTable("WorkerWorkshops");
});
modelBuilder.Entity("DatabaseImplement.Models.Workshop", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
b.Property("Address")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("DateCreate")
.HasColumnType("datetime2");
b.Property("Director")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("ProductionId")
.HasColumnType("int");
b.Property("Title")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ProductionId");
b.HasIndex("UserId");
b.ToTable("Workshops");
});
modelBuilder.Entity("DatabaseImplement.Models.Detail", b =>
{
b.HasOne("DatabaseImplement.Models.Implementer", "User")
.WithMany("Details")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("DatabaseImplement.Models.DetailProduct", b =>
{
b.HasOne("DatabaseImplement.Models.Detail", "Detail")
.WithMany("DetailProducts")
.HasForeignKey("DetailId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DatabaseImplement.Models.Product", "Product")
.WithMany("Details")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Detail");
b.Navigation("Product");
});
modelBuilder.Entity("DatabaseImplement.Models.DetailProduction", b =>
{
b.HasOne("DatabaseImplement.Models.Detail", "Detail")
.WithMany("DetailProductions")
.HasForeignKey("DetailId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DatabaseImplement.Models.Production", "Production")
.WithMany("Details")
.HasForeignKey("ProductionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Detail");
b.Navigation("Production");
});
modelBuilder.Entity("DatabaseImplement.Models.Machine", b =>
{
b.HasOne("DatabaseImplement.Models.Guarantor", "Guarantor")
.WithMany("Machines")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Guarantor");
});
modelBuilder.Entity("DatabaseImplement.Models.Product", b =>
{
b.HasOne("DatabaseImplement.Models.Machine", "Machine")
.WithMany("Products")
.HasForeignKey("MachineId");
b.HasOne("DatabaseImplement.Models.Implementer", "User")
.WithMany("Products")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Machine");
b.Navigation("User");
});
modelBuilder.Entity("DatabaseImplement.Models.Production", b =>
{
b.HasOne("DatabaseImplement.Models.Implementer", "User")
.WithMany("Productions")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("DatabaseImplement.Models.Worker", b =>
{
b.HasOne("DatabaseImplement.Models.Guarantor", "Guarantor")
.WithMany("Workers")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Guarantor");
});
modelBuilder.Entity("DatabaseImplement.Models.WorkerMachine", b =>
{
b.HasOne("DatabaseImplement.Models.Machine", "Machine")
.WithMany("Workers")
.HasForeignKey("MachineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DatabaseImplement.Models.Worker", "Worker")
.WithMany("WorkerMachines")
.HasForeignKey("WorkerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Machine");
b.Navigation("Worker");
});
modelBuilder.Entity("DatabaseImplement.Models.WorkerWorkshop", b =>
{
b.HasOne("DatabaseImplement.Models.Worker", "Worker")
.WithMany("WorkerWorkshops")
.HasForeignKey("WorkerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DatabaseImplement.Models.Workshop", "Workshop")
.WithMany("Workers")
.HasForeignKey("WorkshopId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Worker");
b.Navigation("Workshop");
});
modelBuilder.Entity("DatabaseImplement.Models.Workshop", b =>
{
b.HasOne("DatabaseImplement.Models.Production", "Production")
.WithMany("Workshops")
.HasForeignKey("ProductionId");
b.HasOne("DatabaseImplement.Models.Guarantor", null)
.WithMany("Workshops")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Production");
});
modelBuilder.Entity("DatabaseImplement.Models.Detail", b =>
{
b.Navigation("DetailProductions");
b.Navigation("DetailProducts");
});
modelBuilder.Entity("DatabaseImplement.Models.Guarantor", b =>
{
b.Navigation("Machines");
b.Navigation("Workers");
b.Navigation("Workshops");
});
modelBuilder.Entity("DatabaseImplement.Models.Implementer", b =>
{
b.Navigation("Details");
b.Navigation("Productions");
b.Navigation("Products");
});
modelBuilder.Entity("DatabaseImplement.Models.Machine", b =>
{
b.Navigation("Products");
b.Navigation("Workers");
});
modelBuilder.Entity("DatabaseImplement.Models.Product", b =>
{
b.Navigation("Details");
});
modelBuilder.Entity("DatabaseImplement.Models.Production", b =>
{
b.Navigation("Details");
b.Navigation("Workshops");
});
modelBuilder.Entity("DatabaseImplement.Models.Worker", b =>
{
b.Navigation("WorkerMachines");
b.Navigation("WorkerWorkshops");
});
modelBuilder.Entity("DatabaseImplement.Models.Workshop", b =>
{
b.Navigation("Workers");
});
#pragma warning restore 612, 618
}
}
}