275 lines
8.9 KiB
C#
275 lines
8.9 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using BookHive;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Metadata;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
#nullable disable
|
|
|
|
namespace BookHive.Migrations
|
|
{
|
|
[DbContext(typeof(BookHiveDbContext))]
|
|
[Migration("20260309112221_InitialDatabase")]
|
|
partial class InitialDatabase
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "8.0.20")
|
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
|
|
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
|
|
|
modelBuilder.Entity("BookHive.Models.Author", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("Biography")
|
|
.HasMaxLength(2000)
|
|
.HasColumnType("nvarchar(2000)");
|
|
|
|
b.Property<DateOnly>("BirthDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<string>("FirstName")
|
|
.IsRequired()
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<string>("LastName")
|
|
.IsRequired()
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<string>("Nationality")
|
|
.IsRequired()
|
|
.HasMaxLength(60)
|
|
.HasColumnType("nvarchar(60)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Authors");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Book", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("AuthorId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Genre")
|
|
.IsRequired()
|
|
.HasMaxLength(50)
|
|
.HasColumnType("nvarchar(50)");
|
|
|
|
b.Property<string>("Isbn")
|
|
.IsRequired()
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("PageCount")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateOnly>("PublishedDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<string>("Summary")
|
|
.HasMaxLength(3000)
|
|
.HasColumnType("nvarchar(3000)");
|
|
|
|
b.Property<string>("Title")
|
|
.IsRequired()
|
|
.HasMaxLength(200)
|
|
.HasColumnType("nvarchar(200)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("AuthorId");
|
|
|
|
b.ToTable("Books");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Loan", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("BookId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateOnly>("DueDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly>("LoanDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<int>("MemberId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateOnly?>("ReturnDate")
|
|
.HasColumnType("date");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("BookId");
|
|
|
|
b.HasIndex("MemberId");
|
|
|
|
b.ToTable("Loans");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Member", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("Email")
|
|
.IsRequired()
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FirstName")
|
|
.IsRequired()
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("LastName")
|
|
.IsRequired()
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<DateOnly>("MembershipDate")
|
|
.HasColumnType("date");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Members");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Review", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("BookId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Comment")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("nvarchar(1000)");
|
|
|
|
b.Property<DateTime?>("CreatedAt")
|
|
.IsRequired()
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<int>("MemberId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("Rating")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("BookId");
|
|
|
|
b.HasIndex("MemberId");
|
|
|
|
b.ToTable("Reviews");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Book", b =>
|
|
{
|
|
b.HasOne("BookHive.Models.Author", "Author")
|
|
.WithMany("Books")
|
|
.HasForeignKey("AuthorId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Author");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Loan", b =>
|
|
{
|
|
b.HasOne("BookHive.Models.Book", "Book")
|
|
.WithMany("Loans")
|
|
.HasForeignKey("BookId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("BookHive.Models.Member", "Member")
|
|
.WithMany("Loans")
|
|
.HasForeignKey("MemberId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Book");
|
|
|
|
b.Navigation("Member");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Review", b =>
|
|
{
|
|
b.HasOne("BookHive.Models.Book", "Book")
|
|
.WithMany("Reviews")
|
|
.HasForeignKey("BookId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("BookHive.Models.Member", "Member")
|
|
.WithMany("Reviews")
|
|
.HasForeignKey("MemberId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Book");
|
|
|
|
b.Navigation("Member");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Author", b =>
|
|
{
|
|
b.Navigation("Books");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Book", b =>
|
|
{
|
|
b.Navigation("Loans");
|
|
|
|
b.Navigation("Reviews");
|
|
});
|
|
|
|
modelBuilder.Entity("BookHive.Models.Member", b =>
|
|
{
|
|
b.Navigation("Loans");
|
|
|
|
b.Navigation("Reviews");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|