79278201

Date: 2024-12-13 11:51:41
Score: 1
Natty:
Report link

I've solved the issue with your help. Thx. This is what I Should code :

internal class ParagraphBaseConfig : IEntityTypeConfiguration<ParagraphBase>
{
    public void Configure(EntityTypeBuilder<ParagraphBase> builder)
    {
        builder.ToTable("Paragraph");

        builder
            .HasDiscriminator(p => p.ParentType)
            .HasValue<SummaryParagraph>(ParagraphBase.ParagraphParentType.ParagraphBlock)
            .HasValue<SummaryParagraph>(ParagraphBase.ParagraphParentType.Summary);
    }
}

internal class SummaryParagraphConfig : IEntityTypeConfiguration<SummaryParagraph>
{
    public void Configure(EntityTypeBuilder<SummaryParagraph> builder)
    {
        builder.ToTable("Paragraph");
      
        builder
            .HasOne<Summary>()
            .WithMany(s => s.Paragraphs)
            .HasForeignKey(sp => sp.SummaryId)
            .OnDelete(DeleteBehavior.Cascade);

        builder
            .Property(p => p.SummaryId)
            .HasColumnName("SummaryId");
    }
}

internal class ContentParagraphConfig : IEntityTypeConfiguration<ContentParagraph>
{
    public void Configure(EntityTypeBuilder<ContentParagraph> builder)
    {
        builder.ToTable("Paragraph");

        builder
            .HasOne<ParagraphBlock>()
            .WithMany(pb => pb.Paragraphs)
            .HasForeignKey(cp => cp.ParagraphBlockId)
            .OnDelete(DeleteBehavior.Cascade);

        builder
            .Property(p => p.ParagraphBlockId)
            .HasColumnName("ParagraphBlockId");
    }
}
Reasons:
  • Blacklisted phrase (1): Thx
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Acetone9177