From 98e17766b203734a1817eed94338e2d25f4395f7 Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 13 Feb 2021 16:20:18 +0200 Subject: Project Restructure P.1 --- src/DevHive.Data/DevHiveContext.cs | 115 ------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 src/DevHive.Data/DevHiveContext.cs (limited to 'src/DevHive.Data/DevHiveContext.cs') diff --git a/src/DevHive.Data/DevHiveContext.cs b/src/DevHive.Data/DevHiveContext.cs deleted file mode 100644 index 9de33c3..0000000 --- a/src/DevHive.Data/DevHiveContext.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using DevHive.Data.Models; -using DevHive.Data.RelationModels; -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; - -namespace DevHive.Data -{ - public class DevHiveContext : IdentityDbContext - { - public DevHiveContext(DbContextOptions options) - : base(options) { } - - public DbSet Technologies { get; set; } - public DbSet Languages { get; set; } - public DbSet Posts { get; set; } - public DbSet PostAttachments { get; set; } - public DbSet Comments { get; set; } - public DbSet Rating { get; set; } - public DbSet RatedPost { get; set; } - public DbSet UserRate { get; set; } - - protected override void OnModelCreating(ModelBuilder builder) - { - /* User */ - builder.Entity() - .HasIndex(x => x.UserName) - .IsUnique(); - - builder.Entity() - .HasOne(x => x.ProfilePicture) - .WithOne(x => x.User) - .HasForeignKey(x => x.UserId); - - /* Roles */ - builder.Entity() - .HasMany(x => x.Roles) - .WithMany(x => x.Users); - - /* Languages */ - builder.Entity() - .HasMany(x => x.Languages) - .WithMany(x => x.Users) - .UsingEntity(x => x.ToTable("LanguageUser")); - - builder.Entity() - .HasMany(x => x.Users) - .WithMany(x => x.Languages) - .UsingEntity(x => x.ToTable("LanguageUser")); - - /* Technologies */ - builder.Entity() - .HasMany(x => x.Technologies) - .WithMany(x => x.Users) - .UsingEntity(x => x.ToTable("TechnologyUser")); - - builder.Entity() - .HasMany(x => x.Users) - .WithMany(x => x.Technologies) - .UsingEntity(x => x.ToTable("TechnologyUser")); - - /* Post */ - builder.Entity() - .HasOne(x => x.Creator) - .WithMany(x => x.Posts); - - builder.Entity() - .HasMany(x => x.Comments) - .WithOne(x => x.Post); - - /* Post attachments */ - builder.Entity() - .HasOne(x => x.Post) - .WithMany(x => x.Attachments); - - /* Comment */ - builder.Entity() - .HasOne(x => x.Post) - .WithMany(x => x.Comments); - - builder.Entity() - .HasOne(x => x.Creator) - .WithMany(x => x.Comments); - - /* Rating */ - builder.Entity() - .HasKey(x => x.Id); - - builder.Entity() - .HasOne(x => x.Post) - .WithOne(x => x.Rating) - .HasForeignKey(x => x.PostId); - - builder.Entity() - .HasOne(x => x.Rating) - .WithOne(x => x.Post); - - /* User Rated Posts */ - builder.Entity() - .HasKey(x => new { x.UserId, x.PostId }); - - builder.Entity() - .HasOne(x => x.User) - .WithMany(x => x.RatedPosts); - - builder.Entity() - .HasOne(x => x.Post); - - builder.Entity() - .HasMany(x => x.RatedPosts); - - base.OnModelCreating(builder); - } - } -} -- cgit v1.2.3