diff --git a/School/SchoolDatabaseImplement/Migrations/20240501191433_InitialCreate.Designer.cs b/School/SchoolDatabaseImplement/Migrations/20240502154944_InitialCreate.Designer.cs similarity index 80% rename from School/SchoolDatabaseImplement/Migrations/20240501191433_InitialCreate.Designer.cs rename to School/SchoolDatabaseImplement/Migrations/20240502154944_InitialCreate.Designer.cs index c0a58e5..70870b2 100644 --- a/School/SchoolDatabaseImplement/Migrations/20240501191433_InitialCreate.Designer.cs +++ b/School/SchoolDatabaseImplement/Migrations/20240502154944_InitialCreate.Designer.cs @@ -12,7 +12,7 @@ using SchoolDatabaseImplement; namespace SchoolDatabaseImplement.Migrations { [DbContext(typeof(SchoolDatabase))] - [Migration("20240501191433_InitialCreate")] + [Migration("20240502154944_InitialCreate")] partial class InitialCreate { /// @@ -54,6 +54,46 @@ namespace SchoolDatabaseImplement.Migrations b.ToTable("Achievements"); }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Club", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Clubs"); + }); + + modelBuilder.Entity("SchoolDatabaseImplement.Models.ClubLesson", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClubId") + .HasColumnType("int"); + + b.Property("LessonId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ClubId"); + + b.HasIndex("LessonId"); + + b.ToTable("ClubLessons"); + }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Interest", b => { b.Property("Id") @@ -122,7 +162,7 @@ namespace SchoolDatabaseImplement.Migrations b.HasIndex("MaterialId"); - b.ToTable("InterestMaterial"); + b.ToTable("InterestMaterials"); }); modelBuilder.Entity("SchoolDatabaseImplement.Models.Lesson", b => @@ -163,7 +203,7 @@ namespace SchoolDatabaseImplement.Migrations b.HasKey("Id"); - b.ToTable("Material"); + b.ToTable("Materials"); }); modelBuilder.Entity("SchoolDatabaseImplement.Models.User", b => @@ -209,6 +249,25 @@ namespace SchoolDatabaseImplement.Migrations b.Navigation("Lesson"); }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.ClubLesson", b => + { + b.HasOne("SchoolDatabaseImplement.Models.Club", "Club") + .WithMany("Lessons") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("SchoolDatabaseImplement.Models.Lesson", "Lesson") + .WithMany() + .HasForeignKey("LessonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Club"); + + b.Navigation("Lesson"); + }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.InterestLesson", b => { b.HasOne("SchoolDatabaseImplement.Models.Interest", "Interest") @@ -258,6 +317,11 @@ namespace SchoolDatabaseImplement.Migrations b.Navigation("User"); }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Club", b => + { + b.Navigation("Lessons"); + }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Interest", b => { b.Navigation("Lessons"); diff --git a/School/SchoolDatabaseImplement/Migrations/20240501191433_InitialCreate.cs b/School/SchoolDatabaseImplement/Migrations/20240502154944_InitialCreate.cs similarity index 73% rename from School/SchoolDatabaseImplement/Migrations/20240501191433_InitialCreate.cs rename to School/SchoolDatabaseImplement/Migrations/20240502154944_InitialCreate.cs index 54b121a..6821471 100644 --- a/School/SchoolDatabaseImplement/Migrations/20240501191433_InitialCreate.cs +++ b/School/SchoolDatabaseImplement/Migrations/20240502154944_InitialCreate.cs @@ -11,6 +11,19 @@ namespace SchoolDatabaseImplement.Migrations /// protected override void Up(MigrationBuilder migrationBuilder) { + migrationBuilder.CreateTable( + name: "Clubs", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Clubs", x => x.Id); + }); + migrationBuilder.CreateTable( name: "Interests", columns: table => new @@ -27,7 +40,7 @@ namespace SchoolDatabaseImplement.Migrations }); migrationBuilder.CreateTable( - name: "Material", + name: "Materials", columns: table => new { Id = table.Column(type: "int", nullable: false) @@ -36,7 +49,7 @@ namespace SchoolDatabaseImplement.Migrations }, constraints: table => { - table.PrimaryKey("PK_Material", x => x.Id); + table.PrimaryKey("PK_Materials", x => x.Id); }); migrationBuilder.CreateTable( @@ -57,7 +70,7 @@ namespace SchoolDatabaseImplement.Migrations }); migrationBuilder.CreateTable( - name: "InterestMaterial", + name: "InterestMaterials", columns: table => new { Id = table.Column(type: "int", nullable: false) @@ -67,17 +80,17 @@ namespace SchoolDatabaseImplement.Migrations }, constraints: table => { - table.PrimaryKey("PK_InterestMaterial", x => x.Id); + table.PrimaryKey("PK_InterestMaterials", x => x.Id); table.ForeignKey( - name: "FK_InterestMaterial_Interests_InterestId", + name: "FK_InterestMaterials_Interests_InterestId", column: x => x.InterestId, principalTable: "Interests", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( - name: "FK_InterestMaterial_Material_MaterialId", + name: "FK_InterestMaterials_Materials_MaterialId", column: x => x.MaterialId, - principalTable: "Material", + principalTable: "Materials", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); @@ -125,6 +138,32 @@ namespace SchoolDatabaseImplement.Migrations onDelete: ReferentialAction.Cascade); }); + migrationBuilder.CreateTable( + name: "ClubLessons", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ClubId = table.Column(type: "int", nullable: false), + LessonId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ClubLessons", x => x.Id); + table.ForeignKey( + name: "FK_ClubLessons_Clubs_ClubId", + column: x => x.ClubId, + principalTable: "Clubs", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ClubLessons_Lessons_LessonId", + column: x => x.LessonId, + principalTable: "Lessons", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateTable( name: "InterestLessons", columns: table => new @@ -156,6 +195,16 @@ namespace SchoolDatabaseImplement.Migrations table: "Achievements", column: "LessonId"); + migrationBuilder.CreateIndex( + name: "IX_ClubLessons_ClubId", + table: "ClubLessons", + column: "ClubId"); + + migrationBuilder.CreateIndex( + name: "IX_ClubLessons_LessonId", + table: "ClubLessons", + column: "LessonId"); + migrationBuilder.CreateIndex( name: "IX_InterestLessons_InterestId", table: "InterestLessons", @@ -167,13 +216,13 @@ namespace SchoolDatabaseImplement.Migrations column: "LessonId"); migrationBuilder.CreateIndex( - name: "IX_InterestMaterial_InterestId", - table: "InterestMaterial", + name: "IX_InterestMaterials_InterestId", + table: "InterestMaterials", column: "InterestId"); migrationBuilder.CreateIndex( - name: "IX_InterestMaterial_MaterialId", - table: "InterestMaterial", + name: "IX_InterestMaterials_MaterialId", + table: "InterestMaterials", column: "MaterialId"); migrationBuilder.CreateIndex( @@ -188,11 +237,17 @@ namespace SchoolDatabaseImplement.Migrations migrationBuilder.DropTable( name: "Achievements"); + migrationBuilder.DropTable( + name: "ClubLessons"); + migrationBuilder.DropTable( name: "InterestLessons"); migrationBuilder.DropTable( - name: "InterestMaterial"); + name: "InterestMaterials"); + + migrationBuilder.DropTable( + name: "Clubs"); migrationBuilder.DropTable( name: "Lessons"); @@ -201,7 +256,7 @@ namespace SchoolDatabaseImplement.Migrations name: "Interests"); migrationBuilder.DropTable( - name: "Material"); + name: "Materials"); migrationBuilder.DropTable( name: "Users"); diff --git a/School/SchoolDatabaseImplement/Migrations/SchoolDatabaseModelSnapshot.cs b/School/SchoolDatabaseImplement/Migrations/SchoolDatabaseModelSnapshot.cs index 6dd339e..44329f5 100644 --- a/School/SchoolDatabaseImplement/Migrations/SchoolDatabaseModelSnapshot.cs +++ b/School/SchoolDatabaseImplement/Migrations/SchoolDatabaseModelSnapshot.cs @@ -51,6 +51,46 @@ namespace SchoolDatabaseImplement.Migrations b.ToTable("Achievements"); }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Club", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Clubs"); + }); + + modelBuilder.Entity("SchoolDatabaseImplement.Models.ClubLesson", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClubId") + .HasColumnType("int"); + + b.Property("LessonId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ClubId"); + + b.HasIndex("LessonId"); + + b.ToTable("ClubLessons"); + }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Interest", b => { b.Property("Id") @@ -119,7 +159,7 @@ namespace SchoolDatabaseImplement.Migrations b.HasIndex("MaterialId"); - b.ToTable("InterestMaterial"); + b.ToTable("InterestMaterials"); }); modelBuilder.Entity("SchoolDatabaseImplement.Models.Lesson", b => @@ -160,7 +200,7 @@ namespace SchoolDatabaseImplement.Migrations b.HasKey("Id"); - b.ToTable("Material"); + b.ToTable("Materials"); }); modelBuilder.Entity("SchoolDatabaseImplement.Models.User", b => @@ -206,6 +246,25 @@ namespace SchoolDatabaseImplement.Migrations b.Navigation("Lesson"); }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.ClubLesson", b => + { + b.HasOne("SchoolDatabaseImplement.Models.Club", "Club") + .WithMany("Lessons") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("SchoolDatabaseImplement.Models.Lesson", "Lesson") + .WithMany() + .HasForeignKey("LessonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Club"); + + b.Navigation("Lesson"); + }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.InterestLesson", b => { b.HasOne("SchoolDatabaseImplement.Models.Interest", "Interest") @@ -255,6 +314,11 @@ namespace SchoolDatabaseImplement.Migrations b.Navigation("User"); }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Club", b => + { + b.Navigation("Lessons"); + }); + modelBuilder.Entity("SchoolDatabaseImplement.Models.Interest", b => { b.Navigation("Lessons"); diff --git a/School/SchoolDatabaseImplement/SchoolDatabase.cs b/School/SchoolDatabaseImplement/SchoolDatabase.cs index feaa016..d7899f6 100644 --- a/School/SchoolDatabaseImplement/SchoolDatabase.cs +++ b/School/SchoolDatabaseImplement/SchoolDatabase.cs @@ -25,6 +25,11 @@ namespace SchoolDatabaseImplement public virtual DbSet InterestLessons { set; get; } public virtual DbSet Interests { set; get; } public virtual DbSet Achievements { set; get; } + public virtual DbSet Clubs { set; get; } + public virtual DbSet ClubLessons { set; get; } + public virtual DbSet Materials { set; get; } + + public virtual DbSet InterestMaterials { set; get; } } }