//
using System;
using DeviceDatabaseImplement;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace DeviceDatabaseImplement.Migrations
{
[DbContext(typeof(DeviceDatabase))]
[Migration("20240520003027_InitialCreate")]
partial class InitialCreate
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.5")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("DeviceDatabaseImplement.Models.Cabinet", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Building")
.HasColumnType("int");
b.Property("CabinetId")
.HasColumnType("int");
b.Property("Room")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("CabinetId");
b.ToTable("Cabinets");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Device", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Condition")
.HasColumnType("bit");
b.Property("KindId")
.HasColumnType("int");
b.Property("KitId")
.HasColumnType("int");
b.Property("Model")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("ProductionDate")
.HasColumnType("date");
b.Property("SerialNumber")
.HasColumnType("nvarchar(max)");
b.Property("WarrantyPeriod")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("KindId");
b.HasIndex("KitId");
b.ToTable("Devices");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Kind", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Frequency")
.HasColumnType("int");
b.Property("Title")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Kinds");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Kit", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CabinetId")
.HasColumnType("int");
b.Property("Title")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("CabinetId");
b.ToTable("Kits");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Ownership", b =>
{
b.Property("StaffId")
.HasColumnType("int");
b.Property("KitId")
.HasColumnType("int");
b.HasKey("StaffId", "KitId");
b.HasIndex("KitId");
b.ToTable("Ownership");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Service", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Description")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("DeviceId")
.HasColumnType("int");
b.Property("EndDate")
.HasColumnType("date");
b.Property("ServiceId")
.HasColumnType("int");
b.Property("StartDate")
.HasColumnType("date");
b.HasKey("Id");
b.HasIndex("ServiceId");
b.ToTable("Services");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Staff", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("AccessLevel")
.HasColumnType("int");
b.Property("Department")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("FullName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Staff");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Cabinet", b =>
{
b.HasOne("DeviceDatabaseImplement.Models.Cabinet", null)
.WithMany("Cabinets")
.HasForeignKey("CabinetId");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Device", b =>
{
b.HasOne("DeviceDatabaseImplement.Models.Kind", "Kind")
.WithMany("Devices")
.HasForeignKey("KindId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DeviceDatabaseImplement.Models.Kit", "Kit")
.WithMany("Devices")
.HasForeignKey("KitId");
b.Navigation("Kind");
b.Navigation("Kit");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Kit", b =>
{
b.HasOne("DeviceDatabaseImplement.Models.Cabinet", "Cabinet")
.WithMany()
.HasForeignKey("CabinetId");
b.Navigation("Cabinet");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Ownership", b =>
{
b.HasOne("DeviceDatabaseImplement.Models.Kit", "Kits")
.WithMany("Ownership")
.HasForeignKey("KitId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DeviceDatabaseImplement.Models.Staff", "Staff")
.WithMany("Ownership")
.HasForeignKey("StaffId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Kits");
b.Navigation("Staff");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Service", b =>
{
b.HasOne("DeviceDatabaseImplement.Models.Service", null)
.WithMany("Services")
.HasForeignKey("ServiceId");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Cabinet", b =>
{
b.Navigation("Cabinets");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Kind", b =>
{
b.Navigation("Devices");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Kit", b =>
{
b.Navigation("Devices");
b.Navigation("Ownership");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Service", b =>
{
b.Navigation("Services");
});
modelBuilder.Entity("DeviceDatabaseImplement.Models.Staff", b =>
{
b.Navigation("Ownership");
});
#pragma warning restore 612, 618
}
}
}