//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace bitforum.Migrations.DefaultDb
{
[DbContext(typeof(DefaultDbContext))]
[Migration("20250117130258_AddFaqs")]
partial class AddFaqs
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("bitforum.Models.Config", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("CreatedAt")
.HasColumnType("datetime2");
b.Property("Description")
.HasColumnType("nvarchar(max)");
b.Property("Key")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.Property("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.HasIndex("Key")
.IsUnique();
b.ToTable("Config");
});
modelBuilder.Entity("bitforum.Models.Page.Document", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Code")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("Content")
.HasColumnType("nvarchar(max)");
b.Property("CreatedAt")
.HasColumnType("datetime2");
b.Property("IsDisplay")
.HasColumnType("bit");
b.Property("Subject")
.IsRequired()
.HasMaxLength(120)
.HasColumnType("nvarchar(120)");
b.Property("UpdatedAt")
.HasColumnType("datetime2");
b.Property("Views")
.HasColumnType("int");
b.HasKey("ID");
b.HasIndex(new[] { "Code" }, "IX_Document_Code")
.IsUnique();
b.ToTable("Document");
});
modelBuilder.Entity("bitforum.Models.Page.Faq.FaqCategory", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Code")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("Content")
.HasColumnType("nvarchar(max)");
b.Property("CreatedAt")
.HasColumnType("datetime2");
b.Property("IsActive")
.HasColumnType("bit");
b.Property("Order")
.HasColumnType("int");
b.Property("Subject")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("nvarchar(255)");
b.Property("UpdatedAt")
.HasColumnType("datetime2");
b.HasKey("ID");
b.HasIndex(new[] { "Code" }, "IX_FaqCategory_Code")
.IsUnique();
b.HasIndex(new[] { "Order" }, "IX_FaqCategory_Order");
b.ToTable("FaqCategory");
});
modelBuilder.Entity("bitforum.Models.Page.Faq.FaqItem", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Answer")
.HasColumnType("nvarchar(max)");
b.Property("CategoryID")
.HasColumnType("int");
b.Property("CreatedAt")
.HasColumnType("datetime2");
b.Property("IsActive")
.HasColumnType("bit");
b.Property("Order")
.HasColumnType("int");
b.Property("Question")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("nvarchar(255)");
b.Property("UpdatedAt")
.HasColumnType("datetime2");
b.Property("Views")
.HasColumnType("int");
b.HasKey("ID");
b.HasIndex("CategoryID");
b.HasIndex(new[] { "IsActive" }, "IX_FaqItem_IsActive");
b.HasIndex(new[] { "Order" }, "IX_FaqItem_Order");
b.ToTable("FaqItem");
});
modelBuilder.Entity("bitforum.Models.Page.Faq.FaqItem", b =>
{
b.HasOne("bitforum.Models.Page.Faq.FaqCategory", "FaqCategory")
.WithMany("FaqItem")
.HasForeignKey("CategoryID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("FaqCategory");
});
modelBuilder.Entity("bitforum.Models.Page.Faq.FaqCategory", b =>
{
b.Navigation("FaqItem");
});
#pragma warning restore 612, 618
}
}
}