From f64c7b284c5cf399c363b6007de19c95939c4f4d Mon Sep 17 00:00:00 2001 From: Yuee Shiness Date: Wed, 17 May 2023 18:34:28 +0400 Subject: [PATCH] Relation and models fixes. --- .../ComputerStoreDatabase.cs | 2 +- .../20230517142400_RelationFixes.Designer.cs | 496 ++++++++++++++++++ .../20230517142400_RelationFixes.cs | 112 ++++ .../ComputerStoreDatabaseModelSnapshot.cs | 13 +- ComputerStoreDatabaseImplement/Models/PC.cs | 12 +- .../Models/Product.cs | 17 +- .../Models/RequestComponent.cs | 6 +- .../Models/Seller.cs | 2 +- 8 files changed, 635 insertions(+), 25 deletions(-) create mode 100644 ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.Designer.cs create mode 100644 ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.cs diff --git a/ComputerStoreDatabaseImplement/ComputerStoreDatabase.cs b/ComputerStoreDatabaseImplement/ComputerStoreDatabase.cs index fd3d783..8d120be 100644 --- a/ComputerStoreDatabaseImplement/ComputerStoreDatabase.cs +++ b/ComputerStoreDatabaseImplement/ComputerStoreDatabase.cs @@ -14,7 +14,7 @@ namespace ComputerStoreDatabaseImplement { if (optionsBuilder.IsConfigured == false) { - optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Initial Catalog=ComputerStoreDatabase;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True"); + optionsBuilder.UseSqlServer(@"Data Source=YUEEJKE\SQLEXPRESS;Initial Catalog=ComputerStoreDatabase;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True"); } base.OnConfiguring(optionsBuilder); } diff --git a/ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.Designer.cs b/ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.Designer.cs new file mode 100644 index 0000000..f579d22 --- /dev/null +++ b/ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.Designer.cs @@ -0,0 +1,496 @@ +// +using System; +using ComputerStoreDatabaseImplement; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace ComputerStoreDatabaseImplement.Migrations +{ + [DbContext(typeof(ComputerStoreDatabase))] + [Migration("20230517142400_RelationFixes")] + partial class RelationFixes + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.4") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Price") + .HasColumnType("float"); + + b.HasKey("ID"); + + b.ToTable("Components"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("OrderID") + .HasColumnType("int"); + + b.Property("Price") + .HasColumnType("float"); + + b.Property("ProductID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("OrderID"); + + b.HasIndex("ProductID"); + + b.ToTable("Consignments"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("ConsignmentID") + .HasColumnType("int"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("ProductID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("ConsignmentID"); + + b.HasIndex("ProductID"); + + b.ToTable("ConsignmentProducts"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("FirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("LastName") + .HasColumnType("nvarchar(max)"); + + b.Property("MiddleName") + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Username") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Employees"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("DateCreate") + .HasColumnType("datetime2"); + + b.Property("DateImplement") + .HasColumnType("datetime2"); + + b.Property("Price") + .HasColumnType("float"); + + b.Property("SellerID") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("SellerID"); + + b.ToTable("Orders"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("EmployeeID") + .HasColumnType("int"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Price") + .HasColumnType("float"); + + b.Property("RequestID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("EmployeeID"); + + b.ToTable("PCs"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("EmployeeID") + .HasColumnType("int"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Price") + .HasColumnType("float"); + + b.HasKey("ID"); + + b.HasIndex("EmployeeID"); + + b.ToTable("Products"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("ComponentID") + .HasColumnType("int"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("ProductID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("ComponentID"); + + b.HasIndex("ProductID"); + + b.ToTable("ProductComponents"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("OrderID") + .HasColumnType("int"); + + b.Property("PCID") + .HasColumnType("int"); + + b.Property("Price") + .HasColumnType("float"); + + b.HasKey("ID"); + + b.HasIndex("OrderID"); + + b.ToTable("Requests"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("ComponentID") + .HasColumnType("int"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("PCID") + .HasColumnType("int"); + + b.Property("RequestID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("ComponentID"); + + b.HasIndex("PCID"); + + b.HasIndex("RequestID"); + + b.ToTable("RequestComponents"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("FirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("LastName") + .HasColumnType("nvarchar(max)"); + + b.Property("MiddleName") + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Username") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Sellers"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order") + .WithMany("_consignments") + .HasForeignKey("OrderID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("ComputerStoreDatabaseImplement.Models.Product", null) + .WithMany("Consignments") + .HasForeignKey("ProductID"); + + b.Navigation("Order"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Consignment", "Consignment") + .WithMany("Products") + .HasForeignKey("ConsignmentID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product") + .WithMany() + .HasForeignKey("ProductID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Consignment"); + + b.Navigation("Product"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Seller", "Seller") + .WithMany("Orders") + .HasForeignKey("SellerID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Seller"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee") + .WithMany("PCs") + .HasForeignKey("EmployeeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee") + .WithMany("Products") + .HasForeignKey("EmployeeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component") + .WithMany("ConsignmentComponents") + .HasForeignKey("ComponentID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product") + .WithMany("Components") + .HasForeignKey("ProductID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Component"); + + b.Navigation("Product"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order") + .WithMany("_requests") + .HasForeignKey("OrderID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Order"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b => + { + b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component") + .WithMany("RequestComponents") + .HasForeignKey("ComponentID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("ComputerStoreDatabaseImplement.Models.PC", "PC") + .WithMany("Components") + .HasForeignKey("PCID"); + + b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request") + .WithMany("PCs") + .HasForeignKey("RequestID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Component"); + + b.Navigation("PC"); + + b.Navigation("Request"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b => + { + b.Navigation("ConsignmentComponents"); + + b.Navigation("RequestComponents"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b => + { + b.Navigation("Products"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b => + { + b.Navigation("PCs"); + + b.Navigation("Products"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b => + { + b.Navigation("_consignments"); + + b.Navigation("_requests"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b => + { + b.Navigation("Components"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b => + { + b.Navigation("Components"); + + b.Navigation("Consignments"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b => + { + b.Navigation("PCs"); + }); + + modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b => + { + b.Navigation("Orders"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.cs b/ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.cs new file mode 100644 index 0000000..aa17968 --- /dev/null +++ b/ComputerStoreDatabaseImplement/Migrations/20230517142400_RelationFixes.cs @@ -0,0 +1,112 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace ComputerStoreDatabaseImplement.Migrations +{ + /// + public partial class RelationFixes : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Orders_Sellers_OrderID", + table: "Orders"); + + migrationBuilder.DropForeignKey( + name: "FK_RequestComponents_PCs_PCID", + table: "RequestComponents"); + + migrationBuilder.DropIndex( + name: "IX_Orders_OrderID", + table: "Orders"); + + migrationBuilder.DropColumn( + name: "OrderID", + table: "Orders"); + + migrationBuilder.AlterColumn( + name: "PCID", + table: "RequestComponents", + type: "int", + nullable: true, + oldClrType: typeof(int), + oldType: "int"); + + migrationBuilder.CreateIndex( + name: "IX_Orders_SellerID", + table: "Orders", + column: "SellerID"); + + migrationBuilder.AddForeignKey( + name: "FK_Orders_Sellers_SellerID", + table: "Orders", + column: "SellerID", + principalTable: "Sellers", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_RequestComponents_PCs_PCID", + table: "RequestComponents", + column: "PCID", + principalTable: "PCs", + principalColumn: "ID"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Orders_Sellers_SellerID", + table: "Orders"); + + migrationBuilder.DropForeignKey( + name: "FK_RequestComponents_PCs_PCID", + table: "RequestComponents"); + + migrationBuilder.DropIndex( + name: "IX_Orders_SellerID", + table: "Orders"); + + migrationBuilder.AlterColumn( + name: "PCID", + table: "RequestComponents", + type: "int", + nullable: false, + defaultValue: 0, + oldClrType: typeof(int), + oldType: "int", + oldNullable: true); + + migrationBuilder.AddColumn( + name: "OrderID", + table: "Orders", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.CreateIndex( + name: "IX_Orders_OrderID", + table: "Orders", + column: "OrderID"); + + migrationBuilder.AddForeignKey( + name: "FK_Orders_Sellers_OrderID", + table: "Orders", + column: "OrderID", + principalTable: "Sellers", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_RequestComponents_PCs_PCID", + table: "RequestComponents", + column: "PCID", + principalTable: "PCs", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + } + } +} diff --git a/ComputerStoreDatabaseImplement/Migrations/ComputerStoreDatabaseModelSnapshot.cs b/ComputerStoreDatabaseImplement/Migrations/ComputerStoreDatabaseModelSnapshot.cs index 09a4479..f6b3b2d 100644 --- a/ComputerStoreDatabaseImplement/Migrations/ComputerStoreDatabaseModelSnapshot.cs +++ b/ComputerStoreDatabaseImplement/Migrations/ComputerStoreDatabaseModelSnapshot.cs @@ -138,9 +138,6 @@ namespace ComputerStoreDatabaseImplement.Migrations b.Property("DateImplement") .HasColumnType("datetime2"); - b.Property("OrderID") - .HasColumnType("int"); - b.Property("Price") .HasColumnType("float"); @@ -152,7 +149,7 @@ namespace ComputerStoreDatabaseImplement.Migrations b.HasKey("ID"); - b.HasIndex("OrderID"); + b.HasIndex("SellerID"); b.ToTable("Orders"); }); @@ -274,7 +271,7 @@ namespace ComputerStoreDatabaseImplement.Migrations b.Property("Count") .HasColumnType("int"); - b.Property("PCID") + b.Property("PCID") .HasColumnType("int"); b.Property("RequestID") @@ -359,7 +356,7 @@ namespace ComputerStoreDatabaseImplement.Migrations { b.HasOne("ComputerStoreDatabaseImplement.Models.Seller", "Seller") .WithMany("Orders") - .HasForeignKey("OrderID") + .HasForeignKey("SellerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); @@ -428,9 +425,7 @@ namespace ComputerStoreDatabaseImplement.Migrations b.HasOne("ComputerStoreDatabaseImplement.Models.PC", "PC") .WithMany("Components") - .HasForeignKey("PCID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .HasForeignKey("PCID"); b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request") .WithMany("PCs") diff --git a/ComputerStoreDatabaseImplement/Models/PC.cs b/ComputerStoreDatabaseImplement/Models/PC.cs index 56d6eea..704c246 100644 --- a/ComputerStoreDatabaseImplement/Models/PC.cs +++ b/ComputerStoreDatabaseImplement/Models/PC.cs @@ -87,12 +87,16 @@ namespace ComputerStoreDatabaseImplement.Models var pcComponents = context.RequestComponents.Where(rec => rec.PCID == model.ID && rec.RequestID == model.RequestID).ToList(); if(pcComponents != null && pcComponents.Count > 0) { - context.RequestComponents.RemoveRange(pcComponents.Where(rec => !model.PCComponents.ContainsKey(rec.ComponentID) && rec.RequestID == model.RequestID)); - context.SaveChanges(); + if(pcComponents.Where(rec => !model.PCComponents.ContainsKey(rec.ComponentID) && rec.RequestID == model.RequestID).Any()) + { + context.RequestComponents.RemoveRange(pcComponents.Where(rec => !model.PCComponents.ContainsKey(rec.ComponentID) && rec.RequestID == model.RequestID)); + context.SaveChanges(); + } + foreach(var updateComponent in pcComponents) { - updateComponent.Count = model.PCComponents[updateComponent.PCID].Item2; - model.PCComponents.Remove(updateComponent.PCID); + updateComponent.Count = model.PCComponents[updateComponent.ComponentID].Item2; + model.PCComponents.Remove(updateComponent.ComponentID); } context.SaveChanges(); } diff --git a/ComputerStoreDatabaseImplement/Models/Product.cs b/ComputerStoreDatabaseImplement/Models/Product.cs index a59a758..9369614 100644 --- a/ComputerStoreDatabaseImplement/Models/Product.cs +++ b/ComputerStoreDatabaseImplement/Models/Product.cs @@ -83,20 +83,23 @@ namespace ComputerStoreDatabaseImplement.Models public void UpdateComponents(ComputerStoreDatabase context, ProductBindingModel model) { var productComponents = context.ProductComponents.Where(rec => rec.ProductID == model.ID).ToList(); - if(productComponents != null && productComponents.Count > 0) + if (productComponents != null && productComponents.Count > 0) { - context.ProductComponents.RemoveRange(productComponents.Where(rec => !model.ProductComponents.ContainsKey(rec.ComponentID))); - context.SaveChanges(); - foreach(var updateComponent in productComponents) + if (productComponents.Where(rec => !model.ProductComponents.ContainsKey(rec.ComponentID)).Any()) { - updateComponent.Count = model.ProductComponents[updateComponent.ID].Item2; - model.ProductComponents.Remove(updateComponent.ID); + context.ProductComponents.RemoveRange(productComponents.Where(rec => !model.ProductComponents.ContainsKey(rec.ComponentID))); + context.SaveChanges(); + } + foreach (var updateComponent in productComponents.Where(x => model.ProductComponents.ContainsKey(x.ComponentID))) + { + updateComponent.Count = model.ProductComponents[updateComponent.ComponentID].Item2; + model.ProductComponents.Remove(updateComponent.ComponentID); } context.SaveChanges(); } var product = context.Products.First(x => x.ID == ID); - foreach(var pc in model.ProductComponents) + foreach (var pc in model.ProductComponents) { context.ProductComponents.Add(new ProductComponent { diff --git a/ComputerStoreDatabaseImplement/Models/RequestComponent.cs b/ComputerStoreDatabaseImplement/Models/RequestComponent.cs index 3157632..3e54ed0 100644 --- a/ComputerStoreDatabaseImplement/Models/RequestComponent.cs +++ b/ComputerStoreDatabaseImplement/Models/RequestComponent.cs @@ -17,13 +17,13 @@ namespace ComputerStoreDatabaseImplement.Models [Required] public int ComponentID { get; set; } - [Required] - public int PCID { get; set; } + + public int? PCID { get; set; } [Required] public int Count { get; set; } - public virtual PC PC { get; set; } = new(); + public virtual PC? PC { get; set; } = new(); public virtual Component Component { get; set; } = new(); public virtual Request Request { get; set; } = new(); } diff --git a/ComputerStoreDatabaseImplement/Models/Seller.cs b/ComputerStoreDatabaseImplement/Models/Seller.cs index a48e66a..fda93c5 100644 --- a/ComputerStoreDatabaseImplement/Models/Seller.cs +++ b/ComputerStoreDatabaseImplement/Models/Seller.cs @@ -23,7 +23,7 @@ namespace ComputerStoreDatabaseImplement.Models public string? LastName { get; private set; } = string.Empty; public string? MiddleName { get; private set; } = string.Empty; - [ForeignKey("OrderID")] + [ForeignKey("SellerID")] public virtual List Orders { get; set; } = new(); public static Seller? Create(SellerBindingModel? model)