Setup base EF model and authentication #1

Merged
Jiri merged 17 commits from EntityFrameworkSetup into main 2025-08-09 17:20:48 +00:00
Showing only changes of commit 855e9a4bcf - Show all commits

View file

@ -90,5 +90,60 @@ public class ApplicationDbContext : DbContext
entity.HasMany(ctv => ctv.Users)
.WithMany(u => u.CompanyTableViews);
});
// User
modelBuilder.Entity<DbUser>(entity =>
{
entity.HasKey(u => u.Id);
entity.HasMany(u => u.CompanyTableViews)
.WithMany(ctv => ctv.Users);
entity.HasMany(u => u.ProductTableViews)
.WithMany(ptv => ptv.Users);
entity.HasMany(u => u.CompanyRatings)
.WithOne(cr => cr.User)
.HasForeignKey(cr => cr.UserId);
entity.HasMany(u => u.ProductRatings)
.WithOne(pr => pr.User)
.HasForeignKey(pr => pr.UserId);
entity.HasMany(u => u.UserCompanyTableStats)
.WithOne(ucts => ucts.User)
.HasForeignKey(ucts => ucts.UserId);
entity.HasMany(u => u.UserProductTableStats)
.WithOne(upts => upts.User)
.HasForeignKey(upts => upts.UserId);
entity.HasIndex(u => u.UserName)
.IsUnique();
});
// User Company Table Stat
modelBuilder.Entity<DbUserCompanyTableStat>(entity =>
{
entity.HasKey(ucts => new { ucts.UserId, ucts.CompanyTableId });
entity.HasOne(ucts => ucts.User)
.WithMany(u => u.UserCompanyTableStats);
entity.HasOne(ucts => ucts.CompanyTable)
.WithMany();
});
// User Product Table Stat
modelBuilder.Entity<DbUserProductTableStat>(entity =>
{
entity.HasKey(upts => new { upts.UserId, upts.ProductTableId });
entity.HasOne(upts => upts.User)
.WithMany(u => u.UserProductTableStats);
entity.HasOne(upts => upts.ProductTable)
.WithMany();
});
}
}