From 10dd4c9b0d22d84b2e717e304a678060b7ee8c83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Vrabec?= Date: Sat, 9 Aug 2025 13:10:58 +0200 Subject: [PATCH] Map EF company table and table view --- DrinkRateAPI/Contexts/ApplicationDbContext.cs | 25 ++++++++++++++++++- DrinkRateAPI/DbEntities/DbCompanyTable.cs | 2 +- DrinkRateAPI/DbEntities/DbProductTable.cs | 2 +- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/DrinkRateAPI/Contexts/ApplicationDbContext.cs b/DrinkRateAPI/Contexts/ApplicationDbContext.cs index 69a95db..3812af1 100644 --- a/DrinkRateAPI/Contexts/ApplicationDbContext.cs +++ b/DrinkRateAPI/Contexts/ApplicationDbContext.cs @@ -66,6 +66,29 @@ public class ApplicationDbContext : DbContext .WithMany(c => c.CompanyRatings); }); - // to do: othe objects + // Company Table + modelBuilder.Entity(ct => + { + ct.HasKey(ct => ct.Id); + + ct.HasMany(ct => ct.Companies) + .WithOne(c => c.CompanyTable) + .HasForeignKey(c => c.CompanyTableId); + + ct.HasIndex(ct => ct.CompanyTableName) + .IsUnique(); + }); + + // Company Table View + modelBuilder.Entity(ctv => + { + ctv.HasKey(ctv => ctv.Id); + + ctv.HasMany(ctv => ctv.CompanyTables) + .WithMany(); + + ctv.HasMany(ctv => ctv.Users) + .WithMany(u => u.CompanyTableViews); + }); } } \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbCompanyTable.cs b/DrinkRateAPI/DbEntities/DbCompanyTable.cs index c70fe26..285563c 100644 --- a/DrinkRateAPI/DbEntities/DbCompanyTable.cs +++ b/DrinkRateAPI/DbEntities/DbCompanyTable.cs @@ -6,5 +6,5 @@ public class DbCompanyTable public ICollection Companies { get; set; } - public string CompanyTable { get; set; } + public string CompanyTableName { get; set; } } \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbProductTable.cs b/DrinkRateAPI/DbEntities/DbProductTable.cs index a62c373..dcc9724 100644 --- a/DrinkRateAPI/DbEntities/DbProductTable.cs +++ b/DrinkRateAPI/DbEntities/DbProductTable.cs @@ -6,5 +6,5 @@ public class DbProductTable public ICollection Products { get; set; } - public string ProductTable { get; set; } + public string ProductTableName { get; set; } } \ No newline at end of file