Миграции

This commit is contained in:
Вячеслав Иванов 2024-03-23 14:26:44 +04:00
parent 104a53bb93
commit ded577a8eb
3 changed files with 1599 additions and 0 deletions

View File

@ -0,0 +1,591 @@
// <auto-generated />
using System;
using HotelDataBaseImplement;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace HotelDataBaseImplement.Migrations
{
[DbContext(typeof(HotelDataBase))]
[Migration("20240323102434_Hotel")]
partial class Hotel
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "7.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ConferenceName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("OrganiserId")
.HasColumnType("int");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.HasIndex("OrganiserId");
b.ToTable("Conferences");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<DateTime?>("BookingDate")
.HasColumnType("datetime2");
b.Property<int>("ConferenceId")
.HasColumnType("int");
b.Property<int>("HeadwaiterId")
.HasColumnType("int");
b.Property<string>("NameHall")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ConferenceId");
b.HasIndex("HeadwaiterId");
b.ToTable("ConferenceBookings");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ConferenceBookingId")
.HasColumnType("int");
b.Property<int>("LunchId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ConferenceBookingId");
b.HasIndex("LunchId");
b.ToTable("ConferenceBookingLunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ConferenceId")
.HasColumnType("int");
b.Property<int>("MemberId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ConferenceId");
b.HasIndex("MemberId");
b.ToTable("ConferenceMembers");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("HeadwaiterEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterPatronymic")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterPhoneNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterSurname")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Headwaiters");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("HeadwaiterId")
.HasColumnType("int");
b.Property<string>("LunchName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("LunchPrice")
.HasColumnType("float");
b.HasKey("Id");
b.HasIndex("HeadwaiterId");
b.ToTable("Lunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("MealPlanName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("MealPlanPrice")
.HasColumnType("float");
b.Property<int>("OrganiserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OrganiserId");
b.ToTable("MealPlans");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("MealPlanId")
.HasColumnType("int");
b.Property<int>("MemberId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("MealPlanId");
b.HasIndex("MemberId");
b.ToTable("MealPlanMembers");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("MemberName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("MemberPatronymic")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("MemberPhoneNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("MemberSurname")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("OrganiserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OrganiserId");
b.ToTable("Members");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("OrganiserEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserPatronymic")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserPhoneNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserSurname")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Organisers");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("HeadwaiterId")
.HasColumnType("int");
b.Property<int>("MealPlanId")
.HasColumnType("int");
b.Property<string>("RoomFrame")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("RoomName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("RoomPrice")
.HasColumnType("float");
b.HasKey("Id");
b.HasIndex("HeadwaiterId");
b.HasIndex("MealPlanId");
b.ToTable("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("LunchId")
.HasColumnType("int");
b.Property<int>("RoomId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("LunchId");
b.HasIndex("RoomId");
b.ToTable("RoomLunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
.WithMany("Conferences")
.HasForeignKey("OrganiserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Organiser");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
.WithMany("ConferenceBookings")
.HasForeignKey("ConferenceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
.WithMany("ConferenceBookings")
.HasForeignKey("HeadwaiterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Conference");
b.Navigation("Headwaiter");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b =>
{
b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking")
.WithMany("Lunches")
.HasForeignKey("ConferenceBookingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch")
.WithMany("ConferenceBookingLunch")
.HasForeignKey("LunchId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ConferenceBooking");
b.Navigation("Lunch");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
.WithMany("Members")
.HasForeignKey("ConferenceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
.WithMany("ConferenceMembers")
.HasForeignKey("MemberId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Conference");
b.Navigation("Member");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
.WithMany("Lunches")
.HasForeignKey("HeadwaiterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Headwaiter");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
.WithMany("MealPlans")
.HasForeignKey("OrganiserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Organiser");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
{
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Members")
.HasForeignKey("MealPlanId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
.WithMany("MealPlanMember")
.HasForeignKey("MemberId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MealPlan");
b.Navigation("Member");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
.WithMany("Members")
.HasForeignKey("OrganiserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Organiser");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
.WithMany("Rooms")
.HasForeignKey("HeadwaiterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Rooms")
.HasForeignKey("MealPlanId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Headwaiter");
b.Navigation("MealPlan");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch")
.WithMany("RoomLunches")
.HasForeignKey("LunchId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
.WithMany("Lunches")
.HasForeignKey("RoomId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Lunch");
b.Navigation("Room");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
{
b.Navigation("ConferenceBookings");
b.Navigation("Members");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
{
b.Navigation("Lunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
{
b.Navigation("ConferenceBookings");
b.Navigation("Lunches");
b.Navigation("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b =>
{
b.Navigation("ConferenceBookingLunch");
b.Navigation("RoomLunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
{
b.Navigation("Members");
b.Navigation("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
{
b.Navigation("ConferenceMembers");
b.Navigation("MealPlanMember");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
{
b.Navigation("Conferences");
b.Navigation("MealPlans");
b.Navigation("Members");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.Navigation("Lunches");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,420 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace HotelDataBaseImplement.Migrations
{
/// <inheritdoc />
public partial class Hotel : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Headwaiters",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
HeadwaiterSurname = table.Column<string>(type: "nvarchar(max)", nullable: false),
HeadwaiterName = table.Column<string>(type: "nvarchar(max)", nullable: false),
HeadwaiterPatronymic = table.Column<string>(type: "nvarchar(max)", nullable: false),
HeadwaiterLogin = table.Column<string>(type: "nvarchar(max)", nullable: false),
HeadwaiterPassword = table.Column<string>(type: "nvarchar(max)", nullable: false),
HeadwaiterEmail = table.Column<string>(type: "nvarchar(max)", nullable: false),
HeadwaiterPhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Headwaiters", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Organisers",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OrganiserSurname = table.Column<string>(type: "nvarchar(max)", nullable: false),
OrganiserName = table.Column<string>(type: "nvarchar(max)", nullable: false),
OrganiserPatronymic = table.Column<string>(type: "nvarchar(max)", nullable: false),
OrganiserLogin = table.Column<string>(type: "nvarchar(max)", nullable: false),
OrganiserPassword = table.Column<string>(type: "nvarchar(max)", nullable: false),
OrganiserEmail = table.Column<string>(type: "nvarchar(max)", nullable: false),
OrganiserPhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Organisers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Lunches",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
HeadwaiterId = table.Column<int>(type: "int", nullable: false),
LunchName = table.Column<string>(type: "nvarchar(max)", nullable: false),
LunchPrice = table.Column<double>(type: "float", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Lunches", x => x.Id);
table.ForeignKey(
name: "FK_Lunches_Headwaiters_HeadwaiterId",
column: x => x.HeadwaiterId,
principalTable: "Headwaiters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Conferences",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ConferenceName = table.Column<string>(type: "nvarchar(max)", nullable: false),
StartDate = table.Column<DateTime>(type: "datetime2", nullable: false),
OrganiserId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Conferences", x => x.Id);
table.ForeignKey(
name: "FK_Conferences_Organisers_OrganiserId",
column: x => x.OrganiserId,
principalTable: "Organisers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "MealPlans",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MealPlanName = table.Column<string>(type: "nvarchar(max)", nullable: false),
MealPlanPrice = table.Column<double>(type: "float", nullable: false),
OrganiserId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MealPlans", x => x.Id);
table.ForeignKey(
name: "FK_MealPlans_Organisers_OrganiserId",
column: x => x.OrganiserId,
principalTable: "Organisers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Members",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MemberSurname = table.Column<string>(type: "nvarchar(max)", nullable: false),
MemberName = table.Column<string>(type: "nvarchar(max)", nullable: false),
MemberPatronymic = table.Column<string>(type: "nvarchar(max)", nullable: false),
MemberPhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: false),
OrganiserId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Members", x => x.Id);
table.ForeignKey(
name: "FK_Members_Organisers_OrganiserId",
column: x => x.OrganiserId,
principalTable: "Organisers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ConferenceBookings",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ConferenceId = table.Column<int>(type: "int", nullable: false),
HeadwaiterId = table.Column<int>(type: "int", nullable: false),
NameHall = table.Column<string>(type: "nvarchar(max)", nullable: false),
BookingDate = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_ConferenceBookings", x => x.Id);
table.ForeignKey(
name: "FK_ConferenceBookings_Conferences_ConferenceId",
column: x => x.ConferenceId,
principalTable: "Conferences",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ConferenceBookings_Headwaiters_HeadwaiterId",
column: x => x.HeadwaiterId,
principalTable: "Headwaiters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Rooms",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
RoomName = table.Column<string>(type: "nvarchar(max)", nullable: false),
RoomFrame = table.Column<string>(type: "nvarchar(max)", nullable: false),
RoomPrice = table.Column<double>(type: "float", nullable: false),
MealPlanId = table.Column<int>(type: "int", nullable: false),
HeadwaiterId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Rooms", x => x.Id);
table.ForeignKey(
name: "FK_Rooms_Headwaiters_HeadwaiterId",
column: x => x.HeadwaiterId,
principalTable: "Headwaiters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Rooms_MealPlans_MealPlanId",
column: x => x.MealPlanId,
principalTable: "MealPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ConferenceMembers",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MemberId = table.Column<int>(type: "int", nullable: false),
ConferenceId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ConferenceMembers", x => x.Id);
table.ForeignKey(
name: "FK_ConferenceMembers_Conferences_ConferenceId",
column: x => x.ConferenceId,
principalTable: "Conferences",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ConferenceMembers_Members_MemberId",
column: x => x.MemberId,
principalTable: "Members",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "MealPlanMembers",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MemberId = table.Column<int>(type: "int", nullable: false),
MealPlanId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MealPlanMembers", x => x.Id);
table.ForeignKey(
name: "FK_MealPlanMembers_MealPlans_MealPlanId",
column: x => x.MealPlanId,
principalTable: "MealPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_MealPlanMembers_Members_MemberId",
column: x => x.MemberId,
principalTable: "Members",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ConferenceBookingLunches",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ConferenceBookingId = table.Column<int>(type: "int", nullable: false),
LunchId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ConferenceBookingLunches", x => x.Id);
table.ForeignKey(
name: "FK_ConferenceBookingLunches_ConferenceBookings_ConferenceBookingId",
column: x => x.ConferenceBookingId,
principalTable: "ConferenceBookings",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ConferenceBookingLunches_Lunches_LunchId",
column: x => x.LunchId,
principalTable: "Lunches",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "RoomLunches",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
RoomId = table.Column<int>(type: "int", nullable: false),
LunchId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_RoomLunches", x => x.Id);
table.ForeignKey(
name: "FK_RoomLunches_Lunches_LunchId",
column: x => x.LunchId,
principalTable: "Lunches",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_RoomLunches_Rooms_RoomId",
column: x => x.RoomId,
principalTable: "Rooms",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookingLunches_ConferenceBookingId",
table: "ConferenceBookingLunches",
column: "ConferenceBookingId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookingLunches_LunchId",
table: "ConferenceBookingLunches",
column: "LunchId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookings_ConferenceId",
table: "ConferenceBookings",
column: "ConferenceId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookings_HeadwaiterId",
table: "ConferenceBookings",
column: "HeadwaiterId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceMembers_ConferenceId",
table: "ConferenceMembers",
column: "ConferenceId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceMembers_MemberId",
table: "ConferenceMembers",
column: "MemberId");
migrationBuilder.CreateIndex(
name: "IX_Conferences_OrganiserId",
table: "Conferences",
column: "OrganiserId");
migrationBuilder.CreateIndex(
name: "IX_Lunches_HeadwaiterId",
table: "Lunches",
column: "HeadwaiterId");
migrationBuilder.CreateIndex(
name: "IX_MealPlanMembers_MealPlanId",
table: "MealPlanMembers",
column: "MealPlanId");
migrationBuilder.CreateIndex(
name: "IX_MealPlanMembers_MemberId",
table: "MealPlanMembers",
column: "MemberId");
migrationBuilder.CreateIndex(
name: "IX_MealPlans_OrganiserId",
table: "MealPlans",
column: "OrganiserId");
migrationBuilder.CreateIndex(
name: "IX_Members_OrganiserId",
table: "Members",
column: "OrganiserId");
migrationBuilder.CreateIndex(
name: "IX_RoomLunches_LunchId",
table: "RoomLunches",
column: "LunchId");
migrationBuilder.CreateIndex(
name: "IX_RoomLunches_RoomId",
table: "RoomLunches",
column: "RoomId");
migrationBuilder.CreateIndex(
name: "IX_Rooms_HeadwaiterId",
table: "Rooms",
column: "HeadwaiterId");
migrationBuilder.CreateIndex(
name: "IX_Rooms_MealPlanId",
table: "Rooms",
column: "MealPlanId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "ConferenceBookingLunches");
migrationBuilder.DropTable(
name: "ConferenceMembers");
migrationBuilder.DropTable(
name: "MealPlanMembers");
migrationBuilder.DropTable(
name: "RoomLunches");
migrationBuilder.DropTable(
name: "ConferenceBookings");
migrationBuilder.DropTable(
name: "Members");
migrationBuilder.DropTable(
name: "Lunches");
migrationBuilder.DropTable(
name: "Rooms");
migrationBuilder.DropTable(
name: "Conferences");
migrationBuilder.DropTable(
name: "Headwaiters");
migrationBuilder.DropTable(
name: "MealPlans");
migrationBuilder.DropTable(
name: "Organisers");
}
}
}

View File

@ -0,0 +1,588 @@
// <auto-generated />
using System;
using HotelDataBaseImplement;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace HotelDataBaseImplement.Migrations
{
[DbContext(typeof(HotelDataBase))]
partial class HotelDataBaseModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "7.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ConferenceName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("OrganiserId")
.HasColumnType("int");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.HasIndex("OrganiserId");
b.ToTable("Conferences");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<DateTime?>("BookingDate")
.HasColumnType("datetime2");
b.Property<int>("ConferenceId")
.HasColumnType("int");
b.Property<int>("HeadwaiterId")
.HasColumnType("int");
b.Property<string>("NameHall")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ConferenceId");
b.HasIndex("HeadwaiterId");
b.ToTable("ConferenceBookings");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ConferenceBookingId")
.HasColumnType("int");
b.Property<int>("LunchId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ConferenceBookingId");
b.HasIndex("LunchId");
b.ToTable("ConferenceBookingLunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ConferenceId")
.HasColumnType("int");
b.Property<int>("MemberId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ConferenceId");
b.HasIndex("MemberId");
b.ToTable("ConferenceMembers");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("HeadwaiterEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterPatronymic")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterPhoneNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadwaiterSurname")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Headwaiters");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("HeadwaiterId")
.HasColumnType("int");
b.Property<string>("LunchName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("LunchPrice")
.HasColumnType("float");
b.HasKey("Id");
b.HasIndex("HeadwaiterId");
b.ToTable("Lunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("MealPlanName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("MealPlanPrice")
.HasColumnType("float");
b.Property<int>("OrganiserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OrganiserId");
b.ToTable("MealPlans");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("MealPlanId")
.HasColumnType("int");
b.Property<int>("MemberId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("MealPlanId");
b.HasIndex("MemberId");
b.ToTable("MealPlanMembers");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("MemberName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("MemberPatronymic")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("MemberPhoneNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("MemberSurname")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("OrganiserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OrganiserId");
b.ToTable("Members");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("OrganiserEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserPatronymic")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserPhoneNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("OrganiserSurname")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Organisers");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("HeadwaiterId")
.HasColumnType("int");
b.Property<int>("MealPlanId")
.HasColumnType("int");
b.Property<string>("RoomFrame")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("RoomName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("RoomPrice")
.HasColumnType("float");
b.HasKey("Id");
b.HasIndex("HeadwaiterId");
b.HasIndex("MealPlanId");
b.ToTable("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("LunchId")
.HasColumnType("int");
b.Property<int>("RoomId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("LunchId");
b.HasIndex("RoomId");
b.ToTable("RoomLunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
.WithMany("Conferences")
.HasForeignKey("OrganiserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Organiser");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
.WithMany("ConferenceBookings")
.HasForeignKey("ConferenceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
.WithMany("ConferenceBookings")
.HasForeignKey("HeadwaiterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Conference");
b.Navigation("Headwaiter");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b =>
{
b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking")
.WithMany("Lunches")
.HasForeignKey("ConferenceBookingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch")
.WithMany("ConferenceBookingLunch")
.HasForeignKey("LunchId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ConferenceBooking");
b.Navigation("Lunch");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
.WithMany("Members")
.HasForeignKey("ConferenceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
.WithMany("ConferenceMembers")
.HasForeignKey("MemberId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Conference");
b.Navigation("Member");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
.WithMany("Lunches")
.HasForeignKey("HeadwaiterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Headwaiter");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
.WithMany("MealPlans")
.HasForeignKey("OrganiserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Organiser");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
{
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Members")
.HasForeignKey("MealPlanId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
.WithMany("MealPlanMember")
.HasForeignKey("MemberId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MealPlan");
b.Navigation("Member");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
.WithMany("Members")
.HasForeignKey("OrganiserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Organiser");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
.WithMany("Rooms")
.HasForeignKey("HeadwaiterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Rooms")
.HasForeignKey("MealPlanId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Headwaiter");
b.Navigation("MealPlan");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch")
.WithMany("RoomLunches")
.HasForeignKey("LunchId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
.WithMany("Lunches")
.HasForeignKey("RoomId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Lunch");
b.Navigation("Room");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
{
b.Navigation("ConferenceBookings");
b.Navigation("Members");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
{
b.Navigation("Lunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
{
b.Navigation("ConferenceBookings");
b.Navigation("Lunches");
b.Navigation("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b =>
{
b.Navigation("ConferenceBookingLunch");
b.Navigation("RoomLunches");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
{
b.Navigation("Members");
b.Navigation("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
{
b.Navigation("ConferenceMembers");
b.Navigation("MealPlanMember");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
{
b.Navigation("Conferences");
b.Navigation("MealPlans");
b.Navigation("Members");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.Navigation("Lunches");
});
#pragma warning restore 612, 618
}
}
}